On 2/5/24 17:39, David Sterba wrote: > 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. > or more generally, see Documentation/userspace-api/ioctl/ioctl-number.rst. For 0x94, it says: 0x94 all fs/btrfs/ioctl.h Btrfs filesystem and linux/fs.h some lifted to vfs/generic -- #Randy