Commit f5bc27c7 authored by David Sterba's avatar David Sterba

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

parents fa695b01 d5131b65
...@@ -4130,6 +4130,7 @@ void btrfs_test_inode_set_ops(struct inode *inode); ...@@ -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);
......
...@@ -5257,8 +5257,7 @@ static int btrfs_ioctl_set_fslabel(struct file *file, void __user *arg) ...@@ -5257,8 +5257,7 @@ static int btrfs_ioctl_set_fslabel(struct file *file, void __user *arg)
.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 ...@@ -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:
......
...@@ -2190,6 +2190,9 @@ static long btrfs_control_ioctl(struct file *file, unsigned int cmd, ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment