[PATCH v2 11/12] ext4: simplify i_state checks in __ext4_update_other_inode_time()

Eric Biggers
2021-01-09T08:01:21Z

From: Eric Biggers <ebiggers@google.com>

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@google.com>
---
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