Hello, any reaction here? Honza On Wed 18-02-15 14:19:31, Jan Kara wrote: > I had a look at what got merged as a lazytime series from Ted and I have > found a couple of issues (I think I've pointed them out in my emails back > in November but admittedly things were somewhat confused back then since > Ted was submitting new versions pretty fast). Anyway here are the issues > I've found in the merged code: > > 1) Inode that gets periodically dirtied with I_DIRTY_PAGES, cleaned and > dirtied again will have inode with updated timestamps never written due > to age since inode->dirtied_when gets reset on each redirtying with > I_DIRTY_PAGES. > 2) The code won't maintain time ordering of b_dirty_time list by > inode->dirtied_when - this happens because requeue_inode() moves inode > at the head of the b_dirty_time list but inodes in b_io list from which > we move are no longer ordered by dirtied_when (due to that list being > combined from several lists and also because we sort the list by > superblock). As a result terminating logic in move_expired_inodes() may > terminate the scan too early for b_dirty_time list. > 3) This is mostly cosmetic currently but is a potential landmine for > future: If you dirty with I_DIRTY_PAGES | I_DIRTY_TIME inode gets filed > to b_dirty_time list instead of b_dirty list. > 4) Another mostly cosmetic issue: move_expired_inodes() should use > work->for_sync instead of work->reason == WB_REASON_SYNC (work->reason is > there only for tracing purposes). -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html