diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 076cc7fff813e5ffd23094913ce1fb8ac7a6eb6f..559cb161a60aa303c5f6f3648b409298c6c2c0a9 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -3670,6 +3670,9 @@ static long btrfs_ioctl_dev_replace(struct btrfs_root *root, void __user *arg) switch (p->cmd) { case BTRFS_IOCTL_DEV_REPLACE_CMD_START: + if (root->fs_info->sb->s_flags & MS_RDONLY) + return -EROFS; + if (atomic_xchg( &root->fs_info->mutually_exclusive_operation_running, 1)) {