On Tue, 2025-07-22 at 01:13 -0600, Yangtao Li wrote: > Similar to hfsplus, let's update file ctime after the rename > operation > in hfs_rename(). > I am not completely happy about mentioning HFS+ in the patch for HFS. :) We make this fix because HFS should work in correct way but not because HFS+ does it. Imagine that HFS+ will completely disappear or HFS+ code will be heavily changed. Nobody will be able to follow this comment. I prefer to see the explanation something like "The file ctime should be updated after rename operation and blah, blah, blah". :) > W/ patch, the following error in xfstest generic/003 disappears: > > +ERROR: change time has not been updated after changing file1 > > Signed-off-by: Yangtao Li <frank.li@xxxxxxxx> > --- > v4: > -update commit msg > fs/hfs/dir.c | 17 ++++++++++------- > 1 file changed, 10 insertions(+), 7 deletions(-) > > diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c > index 86a6b317b474..756ea7b895e2 100644 > --- a/fs/hfs/dir.c > +++ b/fs/hfs/dir.c > @@ -284,6 +284,7 @@ static int hfs_rename(struct mnt_idmap *idmap, > struct inode *old_dir, > struct dentry *old_dentry, struct inode > *new_dir, > struct dentry *new_dentry, unsigned int flags) > { > + struct inode *inode = d_inode(old_dentry); > int res; > > if (flags & ~RENAME_NOREPLACE) > @@ -296,14 +297,16 @@ static int hfs_rename(struct mnt_idmap *idmap, > struct inode *old_dir, > return res; > } > > - res = hfs_cat_move(d_inode(old_dentry)->i_ino, > - old_dir, &old_dentry->d_name, > + res = hfs_cat_move(inode->i_ino, old_dir, &old_dentry- > >d_name, > new_dir, &new_dentry->d_name); > - if (!res) > - hfs_cat_build_key(old_dir->i_sb, > - (btree_key > *)&HFS_I(d_inode(old_dentry))->cat_key, > - new_dir->i_ino, &new_dentry- > >d_name); > - return res; > + if (res) > + return res; > + > + hfs_cat_build_key(old_dir->i_sb, (btree_key *)&HFS_I(inode)- > >cat_key, > + new_dir->i_ino, &new_dentry->d_name); > + inode_set_ctime_current(inode); > + mark_inode_dirty(inode); > + return 0; > } > > const struct file_operations hfs_dir_operations = { Looks good. Reviewed-by: Viacheslav Dubeyko <slava@xxxxxxxxxxx> Thanks, Slava.