Merge branch 'dev/control-ioctl' into for-chris-4.6

This commit is contained in:
David Sterba 2016-02-26 15:38:34 +01:00
commit f5bc27c71a
3 changed files with 6 additions and 3 deletions

View file

@ -4130,6 +4130,7 @@ void btrfs_test_inode_set_ops(struct inode *inode);
/* ioctl.c */ /* ioctl.c */
long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg); long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
int btrfs_ioctl_get_supported_features(void __user *arg);
void btrfs_update_iflags(struct inode *inode); void btrfs_update_iflags(struct inode *inode);
void btrfs_inherit_iflags(struct inode *inode, struct inode *dir); void btrfs_inherit_iflags(struct inode *inode, struct inode *dir);
int btrfs_is_empty_uuid(u8 *uuid); int btrfs_is_empty_uuid(u8 *uuid);

View file

@ -5257,8 +5257,7 @@ out_unlock:
.compat_ro_flags = BTRFS_FEATURE_COMPAT_RO_##suffix, \ .compat_ro_flags = BTRFS_FEATURE_COMPAT_RO_##suffix, \
.incompat_flags = BTRFS_FEATURE_INCOMPAT_##suffix } .incompat_flags = BTRFS_FEATURE_INCOMPAT_##suffix }
static int btrfs_ioctl_get_supported_features(struct file *file, int btrfs_ioctl_get_supported_features(void __user *arg)
void __user *arg)
{ {
static const struct btrfs_ioctl_feature_flags features[3] = { static const struct btrfs_ioctl_feature_flags features[3] = {
INIT_FEATURE_FLAGS(SUPP), INIT_FEATURE_FLAGS(SUPP),
@ -5537,7 +5536,7 @@ long btrfs_ioctl(struct file *file, unsigned int
case BTRFS_IOC_SET_FSLABEL: case BTRFS_IOC_SET_FSLABEL:
return btrfs_ioctl_set_fslabel(file, argp); return btrfs_ioctl_set_fslabel(file, argp);
case BTRFS_IOC_GET_SUPPORTED_FEATURES: case BTRFS_IOC_GET_SUPPORTED_FEATURES:
return btrfs_ioctl_get_supported_features(file, argp); return btrfs_ioctl_get_supported_features(argp);
case BTRFS_IOC_GET_FEATURES: case BTRFS_IOC_GET_FEATURES:
return btrfs_ioctl_get_features(file, argp); return btrfs_ioctl_get_features(file, argp);
case BTRFS_IOC_SET_FEATURES: case BTRFS_IOC_SET_FEATURES:

View file

@ -2190,6 +2190,9 @@ static long btrfs_control_ioctl(struct file *file, unsigned int cmd,
break; break;
ret = !(fs_devices->num_devices == fs_devices->total_devices); ret = !(fs_devices->num_devices == fs_devices->total_devices);
break; break;
case BTRFS_IOC_GET_SUPPORTED_FEATURES:
ret = btrfs_ioctl_get_supported_features((void __user*)arg);
break;
} }
kfree(vol); kfree(vol);