[PATCH v2 0/7] filesystem visibililty ioctls

From: Kent Overstreet
Date: Tue Feb 06 2024 - 15:19:20 EST


previous:
https://lore.kernel.org/linux-fsdevel/20240206-aufwuchs-atomkraftgegner-dc53ce1e435f@brauner/T/

Changes since v1:
- super_set_uuid() helper, per Dave

- nix FS_IOC_SETUUID - Al raised this and I'm in 100% agreement,
changing a UUID on an existing filesystem is a rare operation that
should only be done when the filesystem is offline; we'd need to
audit/fix a bunch of stuff if we wanted to support this

- fix iocl numberisng, no longer using btrfs's space

- flags argument in struct fsuuid2 is gone; since we're no longer
setting this is no longer needed. As discussed previously, this
interface is only for exporting the public, user-changable UUID (and
there's now a comment saying that this exports the same UUID that
libblkid reports, per Darrick).

Darrick also noticed that fscrypt (!) is using sb->s_uuid, which looks
busted - they want to be using the "this can never change" UUID, but
that is not an item for this patchset.

- FS_IOC_GETSYSFSNAME -> FS_IOC_GETSYSFSPATH, per Darrick (the commit
messages didn't get updated, whoops); and there's now a comment to
reflect that this patch is also for finding filesystem info under
debugfs, if present.

Christain, if nothing else comes up, are you ready to take this?

Cheers,
Kent

Kent Overstreet (7):
fs: super_set_uuid()
overlayfs: Convert to super_set_uuid()
fs: FS_IOC_GETUUID
fat: Hook up sb->s_uuid
fs: FS_IOC_GETSYSFSNAME
xfs: add support for FS_IOC_GETSYSFSNAME
bcachefs: add support for FS_IOC_GETSYSFSNAME

fs/bcachefs/fs.c | 3 ++-
fs/ext4/super.c | 2 +-
fs/f2fs/super.c | 2 +-
fs/fat/inode.c | 3 +++
fs/gfs2/ops_fstype.c | 2 +-
fs/ioctl.c | 33 +++++++++++++++++++++++++++++++++
fs/kernfs/mount.c | 4 +++-
fs/ocfs2/super.c | 4 ++--
fs/overlayfs/util.c | 14 +++++++++-----
fs/ubifs/super.c | 2 +-
fs/xfs/xfs_mount.c | 4 +++-
include/linux/fs.h | 10 ++++++++++
include/uapi/linux/fs.h | 27 +++++++++++++++++++++++++++
mm/shmem.c | 4 +++-
14 files changed, 99 insertions(+), 15 deletions(-)

--
2.43.0