From: Eric Biggers <ebiggers@xxxxxxxxxx> Since I_DIRTY_TIME and I_DIRTY_INODE are mutually exclusive in i_state, there's no need to check for I_DIRTY_TIME && !I_DIRTY_INODE. Just check for I_DIRTY_TIME. Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> --- fs/ext4/inode.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 4cc6c7834312f..00bca5c18eb65 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -4962,14 +4962,12 @@ static void __ext4_update_other_inode_time(struct super_block *sb, return; if ((inode->i_state & (I_FREEING | I_WILL_FREE | I_NEW | - I_DIRTY_INODE)) || - ((inode->i_state & I_DIRTY_TIME) == 0)) + I_DIRTY_TIME)) != I_DIRTY_TIME) return; spin_lock(&inode->i_lock); - if (((inode->i_state & (I_FREEING | I_WILL_FREE | I_NEW | - I_DIRTY_INODE)) == 0) && - (inode->i_state & I_DIRTY_TIME)) { + if ((inode->i_state & (I_FREEING | I_WILL_FREE | I_NEW | + I_DIRTY_TIME)) == I_DIRTY_TIME) { struct ext4_inode_info *ei = EXT4_I(inode); inode->i_state &= ~I_DIRTY_TIME; -- 2.30.0