On Wed, Sep 30, 2015 at 06:03:42AM +0800, Anand Jain wrote:
> +struct btrfs_ioctl_vol_args_v3 {
Can we use struct btrfs_ioctl_vol_args_v2 for that purpose? It contains
the 'flags' so we can abuse the name field to store the device id and
set the flags accordingly.
> + __s64 fd;
> + char name[BTRFS_PATH_NAME_MAX + 1];
> + __u64 devid;
> +};
> +
> #define BTRFS_DEVICE_PATH_NAME_MAX 1024
>
> #define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
> @@ -683,6 +689,8 @@ static inline char *btrfs_err_str(enum btrfs_err_code err_code)
> struct btrfs_ioctl_feature_flags[2])
> #define BTRFS_IOC_GET_SUPPORTED_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \
> struct btrfs_ioctl_feature_flags[3])
> +#define BTRFS_IOC_RM_DEV_V2 _IOW(BTRFS_IOCTL_MAGIC, 58, \
> + struct btrfs_ioctl_vol_args_v3)
And we can reuse the ioctl nmuber 11
#define BTRFS_IOC_RM_DEV_V2 _IOW(BTRFS_IOCTL_MAGIC, 11, \
struct btrfs_ioctl_vol_args_v2)
The vol_v2 structure is extensible so we can add more functionality
there and then I think it justifies the V2 interface bump.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html