Re: [PATCH v1 1/2] fs: hoist get/set UUID ioctls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Nov 10, 2022, at 12:06 PM, Darrick J. Wong <djwong@xxxxxxxxxx> wrote:
> 
> On Wed, Nov 09, 2022 at 02:19:58PM -0800, Catherine Hoang wrote:
>> Hoist the EXT4_IOC_[GS]ETFSUUID ioctls so that they can be used by all
>> filesystems. This allows us to have a common interface for tools such as
>> coreutils.
>> 
>> Signed-off-by: Catherine Hoang <catherine.hoang@xxxxxxxxxx>
> 
> Looks good,
> Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> 
> Also, for the inevitable v2 patchset after we sort out some weird bugs
> in the ext4 implementation of this, can you please cc
> linux-ext4@xxxxxxxxxxxxxxx?

Thanks for reviewing! And sure, I’ll cc them in the next version
> 
> --D
> 
>> ---
>> fs/ext4/ext4.h          | 13 ++-----------
>> include/uapi/linux/fs.h | 11 +++++++++++
>> 2 files changed, 13 insertions(+), 11 deletions(-)
>> 
>> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
>> index 8d5453852f98..b200302a3732 100644
>> --- a/fs/ext4/ext4.h
>> +++ b/fs/ext4/ext4.h
>> @@ -722,8 +722,8 @@ enum {
>> #define EXT4_IOC_GETSTATE		_IOW('f', 41, __u32)
>> #define EXT4_IOC_GET_ES_CACHE		_IOWR('f', 42, struct fiemap)
>> #define EXT4_IOC_CHECKPOINT		_IOW('f', 43, __u32)
>> -#define EXT4_IOC_GETFSUUID		_IOR('f', 44, struct fsuuid)
>> -#define EXT4_IOC_SETFSUUID		_IOW('f', 44, struct fsuuid)
>> +#define EXT4_IOC_GETFSUUID		FS_IOC_GETFSUUID
>> +#define EXT4_IOC_SETFSUUID		FS_IOC_SETFSUUID
>> 
>> #define EXT4_IOC_SHUTDOWN _IOR ('X', 125, __u32)
>> 
>> @@ -753,15 +753,6 @@ enum {
>> 						EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT | \
>> 						EXT4_IOC_CHECKPOINT_FLAG_DRY_RUN)
>> 
>> -/*
>> - * Structure for EXT4_IOC_GETFSUUID/EXT4_IOC_SETFSUUID
>> - */
>> -struct fsuuid {
>> -	__u32       fsu_len;
>> -	__u32       fsu_flags;
>> -	__u8        fsu_uuid[];
>> -};
>> -
>> #if defined(__KERNEL__) && defined(CONFIG_COMPAT)
>> /*
>>  * ioctl commands in 32 bit emulation
>> diff --git a/include/uapi/linux/fs.h b/include/uapi/linux/fs.h
>> index b7b56871029c..63b925444592 100644
>> --- a/include/uapi/linux/fs.h
>> +++ b/include/uapi/linux/fs.h
>> @@ -121,6 +121,15 @@ struct fsxattr {
>> 	unsigned char	fsx_pad[8];
>> };
>> 
>> +/*
>> + * Structure for FS_IOC_GETFSUUID/FS_IOC_SETFSUUID
>> + */
>> +struct fsuuid {
>> +	__u32       fsu_len;
>> +	__u32       fsu_flags;
>> +	__u8        fsu_uuid[];
>> +};
>> +
>> /*
>>  * Flags for the fsx_xflags field
>>  */
>> @@ -215,6 +224,8 @@ struct fsxattr {
>> #define FS_IOC_FSSETXATTR		_IOW('X', 32, struct fsxattr)
>> #define FS_IOC_GETFSLABEL		_IOR(0x94, 49, char[FSLABEL_MAX])
>> #define FS_IOC_SETFSLABEL		_IOW(0x94, 50, char[FSLABEL_MAX])
>> +#define FS_IOC_GETFSUUID		_IOR('f', 44, struct fsuuid)
>> +#define FS_IOC_SETFSUUID		_IOW('f', 44, struct fsuuid)
>> 
>> /*
>>  * Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)
>> -- 
>> 2.25.1
>> 





[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux