Re: [PATCH 05/19] vfs: Introduce a non-repeating system-unique superblock ID [ver #16]
From: David Howells
Date: Thu Feb 20 2020 - 07:45:42 EST
Darrick J. Wong <darrick.wong@xxxxxxxxxx> wrote:
> Ahah, this is what the f_sb_id field is for. I noticed a few patches
> ago that it was in a header file but was never set.
>
> I'm losing track of which IDs do what...
>
> * f_fsid is that old int[2] thing that we used for statfs. It sucks but
> we can't remove it because it's been in statfs since the beginning of
> time.
>
> * f_fs_name is a string coming from s_type, which is the name of the fs
> (e.g. "XFS")?
>
> * f_fstype comes from s_magic, which (for XFS) is 0x58465342.
>
> * f_sb_id is basically an incore u64 cookie that one can use with the
> mount events thing that comes later in this patchset?
>
> * FSINFO_ATTR_VOLUME_ID comes from s_id, which tends to be the block
> device name (at least for local filesystems)
>
> * FSINFO_ATTR_VOLUME_UUID comes from s_uuid, which some filesystems fill
> in at mount time.
>
> * FSINFO_ATTR_VOLUME_NAME is ... left to individual filesystems to
> implement, and (AFAICT) can be the label that one uses for things
> like: "mount LABEL=foo /home" ?
>
> Assuming I got all of that right, can we please capture what all of
> these "IDs" mean in the documentation?
Basically, yes. Would it help if I:
(1) Put the ID generation into its own patch, first.
(2) Put the notification counter patches right after that.
(3) Renamed the fields a bit, say:
f_fsid -> fsid
f_fs_name -> filesystem_name
f_fstype -> filesystem_magic
f_sb_id -> superblock_id
f_dev_* -> backing_dev_*
David