f2fs: spread f2fs_set_inode_flags()
Chao Yu
maintainerPATCH 1/1 f2fs: spread f2fs_set_inode_flags()
From: Chao Yu <[email protected]>
This patch changes codes as below:
- use f2fs_set_inode_flags() to update i_flags atomically to avoid potential race.
- synchronize F2FS_I(inode)->i_flags to inode->i_flags in f2fs_new_inode().
- use f2fs_set_inode_flags() to simply codes in f2fs_quota_{on,off}.
Signed-off-by Chao Yu <[email protected]>
--- fs/f2fs/f2fs.h | 2 +- fs/f2fs/namei.c | 2 ++ fs/f2fs/super.c | 5 ++--- 3 files changed, 5 insertions(+), 4 deletions(-)
fs/f2fs/f2fs.h +1 -1
@@ -3411,7 +3411,7 @@ static inline void f2fs_set_encrypted_inode(struct inode *inode) {#ifdef CONFIG_F2FS_FS_ENCRYPTION file_set_encrypt (inode); - inode->i_flags |=S_ENCRYPTED ; +f2fs_set_inode_flags (inode);#endif }
fs/f2fs/namei.c +2 -0
@@ -122,6 +122,8 @@ static struct inode *f2fs_new_inode(struct inode *dir, umode_t mode)if (F2FS_I (inode)->i_flags &F2FS_PROJINHERIT_FL )set_inode_flag (inode,FI_PROJ_INHERIT ); +f2fs_set_inode_flags (inode); +trace_f2fs_new_inode (inode,0 );return inode;
fs/f2fs/super.c +2 -3
@@ -1939,8 +1939,7 @@ static int f2fs_quota_on(struct super_block *sb, int type, int format_id,inode_lock (inode);F2FS_I (inode)->i_flags |=F2FS_NOATIME_FL |F2FS_IMMUTABLE_FL ; -inode_set_flags (inode,S_NOATIME |S_IMMUTABLE , -S_NOATIME |S_IMMUTABLE ); +f2fs_set_inode_flags (inode);inode_unlock (inode);f2fs_mark_inode_dirty_sync (inode, false);
@@ -1965,7 +1964,7 @@ static int f2fs_quota_off(struct super_block *sb, int type)inode_lock (inode);F2FS_I (inode)->i_flags &= ~(F2FS_NOATIME_FL |F2FS_IMMUTABLE_FL ); -inode_set_flags (inode,0 ,S_NOATIME |S_IMMUTABLE ); +f2fs_set_inode_flags (inode);inode_unlock (inode);f2fs_mark_inode_dirty_sync (inode, false); out_put:
Signature · 1 line
2.18.0