There is no need both the sync and iflag variables - just use dirty as the indicator for which flag to pass to __mark_inode_dirty, as there is no point in passing both flags - __mark_inode_dirty will immediately clear I_DIRTY_TIME if I_DIRTY_SYNC is set. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- fs/inode.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/fs/inode.c b/fs/inode.c index 96cf26ed4c7b..a7d19b1b15ac 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -1662,7 +1662,6 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode, int generic_update_time(struct inode *inode, struct timespec64 *time, int flags) { - int iflags = I_DIRTY_TIME; bool dirty = false; if (flags & S_ATIME) @@ -1678,9 +1677,7 @@ int generic_update_time(struct inode *inode, struct timespec64 *time, int flags) !(inode->i_sb->s_flags & SB_LAZYTIME))) dirty = true; - if (dirty) - iflags |= I_DIRTY_SYNC; - __mark_inode_dirty(inode, iflags); + __mark_inode_dirty(inode, dirty ? I_DIRTY_SYNC : I_DIRTY_TIME); return 0; } EXPORT_SYMBOL(generic_update_time); -- 2.25.1