The original patch could be revised with this support easily.
How about using one structure and one ioctl number for both of them? i.e,

#define BTRFS_IOC_FSLABEL_CTL    _IOW(BTRFS_IOCTL_MAGIC, 50, struct
btrfs_ioctl_fslabel_ctl_args)

#define BTRFS_FSLABEL_CTL_GET    0
#define BTRFS_FSLABEL_CTL_SET    1

struct btrfs_ioctl_fslabel_ctl_args {
         char label[BTRFS_LABEL_SIZE];
         u32  flags;
};

so that get/set label from user tools would looks like,

struct btrfs_ioctl_fslabel_ctl_args arg;
arg.flags = BTRFS_FSLABEL_CTL_GET;  /* get label */
or
arg.flags = BTRFS_FSLABEL_CTL_SET; /* set label */
....

ioctl(fd, BTRFS_FSLABEL_CTL,&arg);


 I would prefer separating GET and SET label ioctl,
 (to have one operation with an ioctl define) that
 will be similar to rest of the ioctl in btrfs.
 Further we don't need ioctl-arg-struct here, unless
 if you are keeping the flags.

 And in my understanding in kernel memcpy are better
 instead of strcpy.
If you could add GET that will be nicer.

 I would need this for an experiment to add the label
 for the subvol/snapshots.

Thanks, Anand
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to