[1/2] f2fs: fix to update i_ctime in __f2fs_setxattr()

Message ID 20230719135047.2947030-1-chao@kernel.org
State New
Headers
Series [1/2] f2fs: fix to update i_ctime in __f2fs_setxattr() |

Commit Message

Chao Yu July 19, 2023, 1:50 p.m. UTC
  generic/728       - output mismatch (see /media/fstests/results//generic/728.out.bad)
    --- tests/generic/728.out	2023-07-19 07:10:48.362711407 +0000
    +++ /media/fstests/results//generic/728.out.bad	2023-07-19 08:39:57.000000000 +0000
     QA output created by 728
    +Expected ctime to change after setxattr.
    +Expected ctime to change after removexattr.
     Silence is golden
    ...
    (Run 'diff -u /media/fstests/tests/generic/728.out /media/fstests/results//generic/728.out.bad'  to see the entire diff)
generic/729        1s

It needs to update i_ctime after {set,remove}xattr, fix it.

Signed-off-by: Chao Yu <chao@kernel.org>
---
 fs/f2fs/xattr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

patchwork-bot+f2fs@kernel.org Aug. 14, 2023, 8:50 p.m. UTC | #1
Hello:

This series was applied to jaegeuk/f2fs.git (dev)
by Jaegeuk Kim <jaegeuk@kernel.org>:

On Wed, 19 Jul 2023 21:50:45 +0800 you wrote:
> generic/728       - output mismatch (see /media/fstests/results//generic/728.out.bad)
>     --- tests/generic/728.out	2023-07-19 07:10:48.362711407 +0000
>     +++ /media/fstests/results//generic/728.out.bad	2023-07-19 08:39:57.000000000 +0000
>      QA output created by 728
>     +Expected ctime to change after setxattr.
>     +Expected ctime to change after removexattr.
>      Silence is golden
>     ...
>     (Run 'diff -u /media/fstests/tests/generic/728.out /media/fstests/results//generic/728.out.bad'  to see the entire diff)
> generic/729        1s
> 
> [...]

Here is the summary with links:
  - [f2fs-dev,1/2] f2fs: fix to update i_ctime in __f2fs_setxattr()
    https://git.kernel.org/jaegeuk/f2fs/c/8874ad7dae8d
  - [f2fs-dev,2/2] f2fs: remove unneeded check condition in __f2fs_setxattr()
    https://git.kernel.org/jaegeuk/f2fs/c/bc3994ffa4cf

You are awesome, thank you!
  

Patch

diff --git a/fs/f2fs/xattr.c b/fs/f2fs/xattr.c
index 476b186b90a6..71bfa2391ab4 100644
--- a/fs/f2fs/xattr.c
+++ b/fs/f2fs/xattr.c
@@ -757,17 +757,17 @@  static int __f2fs_setxattr(struct inode *inode, int index,
 	if (index == F2FS_XATTR_INDEX_ENCRYPTION &&
 			!strcmp(name, F2FS_XATTR_NAME_ENCRYPTION_CONTEXT))
 		f2fs_set_encrypted_inode(inode);
-	f2fs_mark_inode_dirty_sync(inode, true);
 	if (!error && S_ISDIR(inode->i_mode))
 		set_sbi_flag(F2FS_I_SB(inode), SBI_NEED_CP);
 
 same:
 	if (is_inode_flag_set(inode, FI_ACL_MODE)) {
 		inode->i_mode = F2FS_I(inode)->i_acl_mode;
-		inode->i_ctime = current_time(inode);
 		clear_inode_flag(inode, FI_ACL_MODE);
 	}
 
+	inode->i_ctime = current_time(inode);
+	f2fs_mark_inode_dirty_sync(inode, true);
 exit:
 	kfree(base_addr);
 	return error;