2024-02-06 01:40:16

by David Sterba

[permalink] [raw]
Subject: Re: [PATCH 4/6] fs: FS_IOC_GETSYSFSNAME

On Mon, Feb 05, 2024 at 05:43:37PM -0500, Kent Overstreet wrote:
> On Mon, Feb 05, 2024 at 02:27:32PM -0800, Darrick J. Wong wrote:
> > On Mon, Feb 05, 2024 at 03:05:15PM -0500, Kent Overstreet wrote:
> > > @@ -231,6 +235,7 @@ struct fsxattr {
> > > #define FS_IOC_SETFSLABEL _IOW(0x94, 50, char[FSLABEL_MAX])
> > > #define FS_IOC_GETFSUUID _IOR(0x94, 51, struct fsuuid2)
> > > #define FS_IOC_SETFSUUID _IOW(0x94, 52, struct fsuuid2)
> > > +#define FS_IOC_GETFSSYSFSNAME _IOR(0x94, 53, struct fssysfsname)
> >
> > 0x94 is btrfs, don't add things to their "name" space.
>
> Can we please document this somewhere!?
>
> What, dare I ask, is the "namespace" I should be using?

Grep for _IOCTL_MAGIC in include/uapi:

uapi/linux/aspeed-lpc-ctrl.h:#define __ASPEED_LPC_CTRL_IOCTL_MAGIC 0xb2
uapi/linux/aspeed-p2a-ctrl.h:#define __ASPEED_P2A_CTRL_IOCTL_MAGIC 0xb3
uapi/linux/bt-bmc.h:#define __BT_BMC_IOCTL_MAGIC 0xb1
uapi/linux/btrfs.h:#define BTRFS_IOCTL_MAGIC 0x94
uapi/linux/f2fs.h:#define F2FS_IOCTL_MAGIC 0xf5
uapi/linux/ipmi_bmc.h:#define __IPMI_BMC_IOCTL_MAGIC 0xB1
uapi/linux/pfrut.h:#define PFRUT_IOCTL_MAGIC 0xEE
uapi/rdma/rdma_user_ioctl.h:#define IB_IOCTL_MAGIC RDMA_IOCTL_MAGIC
uapi/rdma/rdma_user_ioctl_cmds.h:#define RDMA_IOCTL_MAGIC 0x1b

The label ioctls inherited the 0x94 namespace for backward
compatibility but as already said, it's the private namespace of btrfs.