linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] hfsplus: fix to update ctime after rename
@ 2025-04-29 20:15 Yangtao Li
  2025-04-29 20:15 ` [PATCH 2/2] hfs: " Yangtao Li
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: Yangtao Li @ 2025-04-29 20:15 UTC (permalink / raw)
  To: slava, glaubitz; +Cc: linux-fsdevel, linux-kernel, Yangtao Li

[BUG]
$ sudo ./check generic/003
FSTYP         -- hfsplus
PLATFORM      -- Linux/x86_64 graphic 6.8.0-58-generic #60~22.04.1-Ubuntu
MKFS_OPTIONS  -- /dev/loop29
MOUNT_OPTIONS -- /dev/loop29 /mnt/scratch

generic/003       - output mismatch
    --- tests/generic/003.out   2025-04-27 08:49:39.876945323 -0600
    +++ /home/graphic/fs/xfstests-dev/results//generic/003.out.bad

     QA output created by 003
    +ERROR: change time has not been updated after changing file1
     Silence is golden
    ...

Ran: generic/003
Failures: generic/003
Failed 1 of 1 tests

[CAUSE]
change time has not been updated after changing file1

[FIX]
Update file ctime after rename in hfsplus_rename().

Signed-off-by: Yangtao Li <frank.li@vivo.com>
---
 fs/hfsplus/dir.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/fs/hfsplus/dir.c b/fs/hfsplus/dir.c
index 876bbb80fb4d..e77942440240 100644
--- a/fs/hfsplus/dir.c
+++ b/fs/hfsplus/dir.c
@@ -534,6 +534,7 @@ static int hfsplus_rename(struct mnt_idmap *idmap,
 			  struct inode *new_dir, struct dentry *new_dentry,
 			  unsigned int flags)
 {
+	struct inode *inode = d_inode(old_dentry);
 	int res;
 
 	if (flags & ~RENAME_NOREPLACE)
@@ -552,9 +553,13 @@ static int hfsplus_rename(struct mnt_idmap *idmap,
 	res = hfsplus_rename_cat((u32)(unsigned long)old_dentry->d_fsdata,
 				 old_dir, &old_dentry->d_name,
 				 new_dir, &new_dentry->d_name);
-	if (!res)
-		new_dentry->d_fsdata = old_dentry->d_fsdata;
-	return res;
+	if (res)
+		return res;
+
+	new_dentry->d_fsdata = old_dentry->d_fsdata;
+	inode_set_ctime_current(inode);
+	mark_inode_dirty(inode);
+	return 0;
 }
 
 const struct inode_operations hfsplus_dir_inode_operations = {
-- 
2.39.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-05-15  1:10 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-29 20:15 [PATCH 1/2] hfsplus: fix to update ctime after rename Yangtao Li
2025-04-29 20:15 ` [PATCH 2/2] hfs: " Yangtao Li
2025-04-29 21:31   ` Viacheslav Dubeyko
2025-05-02  0:03   ` Viacheslav Dubeyko
2025-05-07 14:22     ` 回复: " 李扬韬
2025-05-09 17:51       ` Viacheslav Dubeyko
2025-05-09 19:02         ` Viacheslav Dubeyko
2025-05-10  5:31         ` 回复: " 李扬韬
2025-05-15  1:10           ` Viacheslav Dubeyko
2025-04-29 21:27 ` [PATCH 1/2] hfsplus: " Viacheslav Dubeyko
2025-05-01 12:01   ` 回复: " 李扬韬
2025-05-01 18:57     ` Viacheslav Dubeyko
2025-05-01 19:10       ` John Paul Adrian Glaubitz
2025-05-01 19:48         ` Viacheslav Dubeyko
2025-05-02 12:52           ` Theodore Ts'o
2025-05-05 22:31             ` Viacheslav Dubeyko
2025-05-02  0:07 ` Viacheslav Dubeyko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).