Re: [PATCH] t_snapshot_deleted_subvolume: change the position of macro definition

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



Hi!

> On Fri, Jan 26, 2024 at 03:04:23AM -0500, Yang Xu wrote:
>> On some platform, struct btrfs_ioctl_vol_args_v2 is defined, but the
>> macros BTRFS_IOC_SNAP_DESTROY_V2, BTRFS_IOC_SNAP_CREATE_V2 and
>> BTRFS_IOC_SUBVOL_CREATE_V2 are not defined. This will cause compile
>> error. We should always check these macros and manually define them
>> if necessary.
> 
> The BTRFS_IOC_SNAP_DESTROY_V2 was been added in 5.7 but the other two
> have been around since ages. This looks like there are missing
> configure-time checks for the macros.
> 

Agree, will check BTRFS_IOC_SNAP_DESTROY_V2 in configure.ac.

Best Regards
Yang Xu

>>
>> Signed-off-by: Yang Xu <xuyang2018.jy@xxxxxxxxxxx>
>> ---
>>   src/t_snapshot_deleted_subvolume.c | 30 +++++++++++++++---------------
>>   1 file changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/src/t_snapshot_deleted_subvolume.c b/src/t_snapshot_deleted_subvolume.c
>> index c3adb1c4..d84ba35a 100644
>> --- a/src/t_snapshot_deleted_subvolume.c
>> +++ b/src/t_snapshot_deleted_subvolume.c
>> @@ -20,21 +20,6 @@
>>   #define BTRFS_IOCTL_MAGIC 0x94
>>   #endif
>>   
>> -#ifndef BTRFS_IOC_SNAP_DESTROY_V2
>> -#define BTRFS_IOC_SNAP_DESTROY_V2 \
>> -	_IOW(BTRFS_IOCTL_MAGIC, 63, struct btrfs_ioctl_vol_args_v2)
>> -#endif
>> -
>> -#ifndef BTRFS_IOC_SNAP_CREATE_V2
>> -#define BTRFS_IOC_SNAP_CREATE_V2 \
>> -	_IOW(BTRFS_IOCTL_MAGIC, 23, struct btrfs_ioctl_vol_args_v2)
>> -#endif
>> -
>> -#ifndef BTRFS_IOC_SUBVOL_CREATE_V2
>> -#define BTRFS_IOC_SUBVOL_CREATE_V2 \
>> -	_IOW(BTRFS_IOCTL_MAGIC, 24, struct btrfs_ioctl_vol_args_v2)
>> -#endif
>> -
>>   #ifndef BTRFS_SUBVOL_NAME_MAX
>>   #define BTRFS_SUBVOL_NAME_MAX 4039
>>   #endif
>> @@ -58,6 +43,21 @@ struct btrfs_ioctl_vol_args_v2 {
>>   };
>>   #endif
>>   
>> +#ifndef BTRFS_IOC_SNAP_DESTROY_V2
>> +#define BTRFS_IOC_SNAP_DESTROY_V2 \
>> +	_IOW(BTRFS_IOCTL_MAGIC, 63, struct btrfs_ioctl_vol_args_v2)
>> +#endif
>> +
>> +#ifndef BTRFS_IOC_SNAP_CREATE_V2
>> +#define BTRFS_IOC_SNAP_CREATE_V2 \
>> +	_IOW(BTRFS_IOCTL_MAGIC, 23, struct btrfs_ioctl_vol_args_v2)
>> +#endif
>> +
>> +#ifndef BTRFS_IOC_SUBVOL_CREATE_V2
>> +#define BTRFS_IOC_SUBVOL_CREATE_V2 \
>> +	_IOW(BTRFS_IOCTL_MAGIC, 24, struct btrfs_ioctl_vol_args_v2)
>> +#endif
> 
> So you're moving the conditional definitions out of the ifdef that
> includes the header where they're supposedly defined, this should be
> really done in configure and ifdef only BTRFS_IOC_SNAP_DESTROY_V2 as
> it's the newest one.




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux