提交 4bcabaa3 编写于 作者: C Christoph Hellwig 提交者: Chris Mason

Btrfs: clean up btrfs_ioctl a little bit

Provide a void __user *argp pointer so that we can avoid duplicating
the cast for various sub-command calls.
Signed-off-by: NChristoph Hellwig <hch@lst.de>
上级 97288f2c
...@@ -1117,20 +1117,21 @@ long btrfs_ioctl(struct file *file, unsigned int ...@@ -1117,20 +1117,21 @@ long btrfs_ioctl(struct file *file, unsigned int
cmd, unsigned long arg) cmd, unsigned long arg)
{ {
struct btrfs_root *root = BTRFS_I(fdentry(file)->d_inode)->root; struct btrfs_root *root = BTRFS_I(fdentry(file)->d_inode)->root;
void __user *argp = (void __user *)arg;
switch (cmd) { switch (cmd) {
case BTRFS_IOC_SNAP_CREATE: case BTRFS_IOC_SNAP_CREATE:
return btrfs_ioctl_snap_create(file, (void __user *)arg, 0); return btrfs_ioctl_snap_create(file, argp, 0);
case BTRFS_IOC_SUBVOL_CREATE: case BTRFS_IOC_SUBVOL_CREATE:
return btrfs_ioctl_snap_create(file, (void __user *)arg, 1); return btrfs_ioctl_snap_create(file, argp, 1);
case BTRFS_IOC_DEFRAG: case BTRFS_IOC_DEFRAG:
return btrfs_ioctl_defrag(file); return btrfs_ioctl_defrag(file);
case BTRFS_IOC_RESIZE: case BTRFS_IOC_RESIZE:
return btrfs_ioctl_resize(root, (void __user *)arg); return btrfs_ioctl_resize(root, argp);
case BTRFS_IOC_ADD_DEV: case BTRFS_IOC_ADD_DEV:
return btrfs_ioctl_add_dev(root, (void __user *)arg); return btrfs_ioctl_add_dev(root, argp);
case BTRFS_IOC_RM_DEV: case BTRFS_IOC_RM_DEV:
return btrfs_ioctl_rm_dev(root, (void __user *)arg); return btrfs_ioctl_rm_dev(root, argp);
case BTRFS_IOC_BALANCE: case BTRFS_IOC_BALANCE:
return btrfs_balance(root->fs_info->dev_root); return btrfs_balance(root->fs_info->dev_root);
case BTRFS_IOC_CLONE: case BTRFS_IOC_CLONE:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册