[PATCH v2 2/3] hfs: correct superblock flags

From: Yangtao Li
Date: Mon May 19 2025 - 12:32:11 EST


We don't support atime updates of any kind,
because hfs actually does not have atime.

dirCrDat: LongInt; {date and time of creation}
dirMdDat: LongInt; {date and time of last modification}
dirBkDat: LongInt; {date and time of last backup}

filCrDat: LongInt; {date and time of creation}
filMdDat: LongInt; {date and time of last modification}
filBkDat: LongInt; {date and time of last backup}

W/O patch(xfstest generic/003):

+ERROR: access time has changed for file1 after remount
+ERROR: access time has changed after modifying file1
+ERROR: change time has not been updated after changing file1
+ERROR: access time has changed for file in read-only filesystem

W/ patch(xfstest generic/003):

+ERROR: access time has not been updated after accessing file1 first time
+ERROR: access time has not been updated after accessing file2
+ERROR: access time has changed after modifying file1
+ERROR: change time has not been updated after changing file1
+ERROR: access time has not been updated after accessing file3 second time
+ERROR: access time has not been updated after accessing file3 third time

Signed-off-by: Yangtao Li <frank.li@xxxxxxxx>
---
fs/hfs/super.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/hfs/super.c b/fs/hfs/super.c
index fe09c2093a93..9fab84b157b4 100644
--- a/fs/hfs/super.c
+++ b/fs/hfs/super.c
@@ -331,7 +331,7 @@ static int hfs_fill_super(struct super_block *sb, struct fs_context *fc)
sbi->sb = sb;
sb->s_op = &hfs_super_operations;
sb->s_xattr = hfs_xattr_handlers;
- sb->s_flags |= SB_NODIRATIME;
+ sb->s_flags |= SB_NOATIME;
mutex_init(&sbi->bitmap_lock);

res = hfs_mdb_get(sb);
--
2.48.1