Jan Kara <jack@xxxxxxx> writes: > Since you are talking past one another with Jeff let me chime in here :). I > think you are worried about this hunk: Right. > - if ((flags & S_VERSION) && inode_maybe_inc_iversion(inode, false)) > + if ((flags & (S_VERSION|S_CTIME|S_MTIME)) && inode_maybe_inc_iversion(inode, false)) > dirty_flags |= I_DIRTY_SYNC; > > which makes the 'flags' test pass even if we just modified ctime or mtime. > But do note the second part of the if - inode_maybe_inc_iversion() - so we > are going to mark the inode dirty with I_DIRTY_SYNC only if someone queried > iversion since the last time we have incremented it. > > So this hunk is not really changing how inode is marked dirty, it only > changes how often we check whether iversion needs increment and that should > be fine (and desirable). Hence lazytime isn't really broken by this in any > way. OK. However, then it doesn't explain what I asked. This is not same with generic_update_time(), only FAT does. If thinks it is right thing, why generic_update_time() doesn't? I said first reply, this was from generic_update_time(). (Or I'm misreading updated generic_update_time()?) Thanks. -- OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>