Re: [PATCH] xfstests: disable generic/003 for HFS file system

Zorro Lang <[email protected]>
Newsgroups org.kernel.vger.fstests,org.kernel.vger.linux-fsdevel
Message-ID <agmF-PIo1yRu9KHK@zlang-mailbox>
On Thu, May 14, 2026 at 01:00:05PM -0700, Viacheslav Dubeyko wrote:
> HFS hasn't any field in on-disk layout that can keep
> the file/folder access times (atime):
> 
> /* The catalog record for a file */
> struct hfs_cat_file {
>         s8 type;                        /* The type of entry */
>         u8 reserved;
>         u8 Flags;                       /* Flags such as read-only */
>         s8 Typ;                         /* file version number = 0 */
>         struct hfs_finfo UsrWds;        /* data used by the Finder */
>         __be32 FlNum;                   /* The CNID */
>         __be16 StBlk;                   /* obsolete */
>         __be32 LgLen;                   /* The logical EOF of the data fork*/
>         __be32 PyLen;                   /* The physical EOF of the data fork */
>         __be16 RStBlk;                  /* obsolete */
>         __be32 RLgLen;                  /* The logical EOF of the rsrc fork */
>         __be32 RPyLen;                  /* The physical EOF of the rsrc fork */
>         __be32 CrDat;                   /* The creation date */
>         __be32 MdDat;                   /* The modified date */
>         __be32 BkDat;                   /* The last backup date */
>         struct hfs_fxinfo FndrInfo;     /* more data for the Finder */
>         __be16 ClpSize;                 /* number of bytes to allocate
>                                            when extending files */
>         hfs_extent_rec ExtRec;          /* first extent record
>                                            for the data fork */
>         hfs_extent_rec RExtRec;         /* first extent record
>                                            for the resource fork */
>         u32 Resrv;                      /* reserved by Apple */
> } __packed;
> 
> This patch disable the generic/003 test-case for
> HFS file system.
> 
> Signed-off-by: Viacheslav Dubeyko <[email protected]>
> cc: John Paul Adrian Glaubitz <[email protected]>
> cc: Yangtao Li <[email protected]>
> cc: [email protected]
> cc: [email protected]
> ---
>  common/rc | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/common/rc b/common/rc
> index 5fe44e21..b897ef0b 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -4559,6 +4559,9 @@ _require_atime()
>  	ceph|ceph-fuse)
>  		_notrun "atime not maintained by $FSTYP"
>  		;;
> +	hfs)
> +		_notrun "atime not maintained by $FSTYP"

Good to me, thanks! But how about grouping "hfs" together with "ceph|ceph-fuse",
since you want them to share the same _notrun output message. I can help to
change that when I merge it if you agree. Or you can send v2 with my:

Reviewed-by: Zorro Lang <[email protected]>

Currently we have two kinds of *output* in _require_atime:

        nfs|afs|cifs|virtiofs)
                _notrun "atime related mount options have no effect on $FSTYP"
                ;;
        ceph|ceph-fuse)
                _notrun "atime not maintained by $FSTYP"
                ;;

But the boundary between them seems a bit fuzzy. If the struct supports
atime-related fields, but the mount options don't work or are highly
discouraged, it should fall into the first category (like NFS and CIFS).
If the struct itself doesn't have atime, it should be the second category
(like Ceph and HFS).

But looking at it this way, AFS's struct afs_file_status doesn't seem to
have anything related to atime either. Haha, it's getting a bit messy here.

Thanks,
Zorro

> +		;;
>  	esac
>  
>  }
> -- 
> 2.43.0
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.