> spin_unlock(&inode->i_lock); > > - if (dirty & I_DIRTY_TIME) > - mark_inode_dirty_sync(inode); > + /* This was a lazytime expiration; we need to tell the file system */ > + if (dirty & I_DIRTY_TIME_EXPIRED && inode->i_sb->s_op->dirty_inode) > + inode->i_sb->s_op->dirty_inode(inode, I_DIRTY_SYNC); I think this needs a very clear comment explaining why we don't go through __mark_inode_dirty. But as said before I'd rather have a new lazytime_expired operation that makes it very clear what is happening. We currenly have 4 file systems (ext4, f2fs, ubifs and xfs) that support lazytime, so this won't really be a major churn.