f2fs: avoid duplicate call of mark_inode_dirty
authorJaegeuk Kim <jaegeuk@kernel.org>
Sat, 4 Dec 2021 17:55:35 +0000 (09:55 -0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 10 Dec 2021 23:48:32 +0000 (15:48 -0800)
Let's check the condition first before set|clear bit.

Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h

index ac6dda6..cbc73bd 100644 (file)
@@ -3115,12 +3115,16 @@ static inline int is_file(struct inode *inode, int type)
 
 static inline void set_file(struct inode *inode, int type)
 {
+       if (is_file(inode, type))
+               return;
        F2FS_I(inode)->i_advise |= type;
        f2fs_mark_inode_dirty_sync(inode, true);
 }
 
 static inline void clear_file(struct inode *inode, int type)
 {
+       if (!is_file(inode, type))
+               return;
        F2FS_I(inode)->i_advise &= ~type;
        f2fs_mark_inode_dirty_sync(inode, true);
 }