| To: | Tejun Heo <tj@xxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inodes |
| From: | Jan Kara <jack@xxxxxxx> |
| Date: | Mon, 24 Aug 2015 23:09:27 +0200 |
| Cc: | Jan Kara <jack@xxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, Eryu Guan <eguan@xxxxxxxxxx>, Jens Axboe <axboe@xxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, axboe@xxxxxx, Jan Kara <jack@xxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx, kernel-team@xxxxxx |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <20150824193242.GE28944@xxxxxxxxxxxxxxx> |
| References: | <20150822003025.GS3902@dastard> <20150822044609.GM17933@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20150824011123.GA714@dastard> <20150824031816.GO17933@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20150824062425.GU3902@dastard> <20150824091959.GA2936@xxxxxxxxxxxxx> <20150824145150.GA10029@xxxxxxxxxxxxxxx> <20150824171144.GB27262@xxxxxxxxxxxxxxx> <20150824190847.GA4234@xxxxxxxxxxxxx> <20150824193242.GE28944@xxxxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.21 (2010-09-15) |
On Mon 24-08-15 15:32:42, Tejun Heo wrote:
> Hello, Jan.
>
> On Mon, Aug 24, 2015 at 09:08:47PM +0200, Jan Kara wrote:
> > Inode may contain writeback pages (but not dirty pages) without being on
> > any of the dirty lists. That is correct. Josef Bacik had patches to create
>
> Hmmm... Can you please expand on how / why that happens? It's kinda
> weird to require writeback to walk all inodes regardless of their
> dirty states.
It is inefficient, yes. But note that 'writeback' and 'dirty' states are
completely independent. Page can be in any of the !dirty & !writeback,
dirty & !writeback, !dirty & writeback, dirty & writeback states. So mixing
tracking of writeback and dirty state of an inode just makes the code even
messier.
> > a list to track inodes with pages under writeback but they clashed with
> > your patch series and they didn't get rebased yet AFAIR.
>
> Wouldn't it make more sense to simply put them on one of the existing
> b_* lists?
Logically it just doesn't make sense because as I wrote above dirty and
writeback states are completely independent. Also you'd have to detect &
skip inodes that don't really have any dirty pages to write and all the
detection of "is there any data to write" would get more complicated. A
separate list for inodes under writeback as Josef did is IMO the cleanest
solution.
Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR
|
| Previous by Date: | Re: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inodes, Tejun Heo |
|---|---|
| Next by Date: | Re: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inodes, Tejun Heo |
| Previous by Thread: | Re: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inodes, Tejun Heo |
| Next by Thread: | Re: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inodes, Tejun Heo |
| Indexes: | [Date] [Thread] [Top] [All Lists] |