mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 03:11:11 -04:00
btrfs: enable shutdown ioctl for non-experimental builds
Although commit304076527c("btrfs: move shutdown and remove_bdev callbacks out of experimental features") tries to move both shutdown and remove_bdev out of experimental features, that commit has only addressed the super block operation callback, the ioctl one is left untouched. Fix that missing aspect by also moving shutdown ioctl out of experimental features. Since we're here, also add unknown flag detection to reject any unsupported shutdown flags. Fixes:304076527c("btrfs: move shutdown and remove_bdev callbacks out of experimental features") Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
@@ -5102,7 +5102,6 @@ static int btrfs_ioctl_subvol_sync(struct btrfs_fs_info *fs_info, void __user *a
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BTRFS_EXPERIMENTAL
|
||||
static int btrfs_ioctl_shutdown(struct btrfs_fs_info *fs_info, unsigned long arg)
|
||||
{
|
||||
int ret = 0;
|
||||
@@ -5134,10 +5133,12 @@ static int btrfs_ioctl_shutdown(struct btrfs_fs_info *fs_info, unsigned long arg
|
||||
case BTRFS_SHUTDOWN_FLAGS_NOLOGFLUSH:
|
||||
btrfs_force_shutdown(fs_info);
|
||||
break;
|
||||
default:
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
long btrfs_ioctl(struct file *file, unsigned int
|
||||
cmd, unsigned long arg)
|
||||
@@ -5294,10 +5295,8 @@ long btrfs_ioctl(struct file *file, unsigned int
|
||||
#endif
|
||||
case BTRFS_IOC_SUBVOL_SYNC_WAIT:
|
||||
return btrfs_ioctl_subvol_sync(fs_info, argp);
|
||||
#ifdef CONFIG_BTRFS_EXPERIMENTAL
|
||||
case BTRFS_IOC_SHUTDOWN:
|
||||
return btrfs_ioctl_shutdown(fs_info, arg);
|
||||
#endif
|
||||
}
|
||||
|
||||
return -ENOTTY;
|
||||
|
||||
Reference in New Issue
Block a user