]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
hfsplus: set ctime after setxattr and removexattr
authorViacheslav Dubeyko <slava@dubeyko.com>
Mon, 9 Mar 2026 21:49:48 +0000 (14:49 -0700)
committerViacheslav Dubeyko <slava@dubeyko.com>
Thu, 12 Mar 2026 21:49:39 +0000 (14:49 -0700)
The generic/728 test-case complains that:
(1) Expected ctime needs to be changed after setxattr;
(2) Expected ctime needs to be changed after removexattr.

This patch adds calling inode_set_ctime_current() in
__hfsplus_setxattr() and hfsplus_removexattr().

sudo ./check generic/728
FSTYP         -- hfsplus
PLATFORM      -- Linux/x86_64 hfsplus-testing-0001 7.0.0-rc1+ #6 SMP PREEMPT_DYNAMIC Mon Mar  9 14:29:30 PDT 2026
MKFS_OPTIONS  -- /dev/loop51
MOUNT_OPTIONS -- /dev/loop51 /mnt/scratch

generic/728 35s ...  44s
Ran: generic/728
Passed all 1 tests

cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
cc: Yangtao Li <frank.li@vivo.com>
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Viacheslav Dubeyko <slava@dubeyko.com>
Link: https://lore.kernel.org/r/20260309214947.1114618-2-slava@dubeyko.com
Signed-off-by: Viacheslav Dubeyko <slava@dubeyko.com>
fs/hfsplus/xattr.c

index 31b6cb9db77083bb522e1cb679f51a2b2c1b4f99..a824bcaac172b08fc1ed1ab9c07db296742cae17 100644 (file)
@@ -410,6 +410,8 @@ int __hfsplus_setxattr(struct inode *inode, const char *name,
                goto end_setxattr;
        }
 
+       inode_set_ctime_current(inode);
+
 end_setxattr:
        hfs_find_exit(&cat_fd);
        hfs_dbg("finished: res %d\n", err);
@@ -895,6 +897,8 @@ static int hfsplus_removexattr(struct inode *inode, const char *name)
                goto end_removexattr;
        }
 
+       inode_set_ctime_current(inode);
+
 end_removexattr:
        hfs_find_exit(&cat_fd);