Loading drivers/block/nbd.c +5 −2 Original line number Diff line number Diff line Loading @@ -745,7 +745,7 @@ static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd, case NBD_DO_IT: { struct recv_thread_args *args; int num_connections = nbd->num_connections; int error, i; int error = 0, i; if (nbd->task_recv) return -EBUSY; Loading @@ -754,14 +754,17 @@ static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd, if (num_connections > 1 && !(nbd->flags & NBD_FLAG_CAN_MULTI_CONN)) { dev_err(disk_to_dev(nbd->disk), "server does not support multiple connections per device.\n"); error = -EINVAL; goto out_err; } set_bit(NBD_RUNNING, &nbd->runtime_flags); blk_mq_update_nr_hw_queues(&nbd->tag_set, nbd->num_connections); args = kcalloc(num_connections, sizeof(*args), GFP_KERNEL); if (!args) if (!args) { error = -ENOMEM; goto out_err; } nbd->task_recv = current; mutex_unlock(&nbd->config_lock); Loading Loading
drivers/block/nbd.c +5 −2 Original line number Diff line number Diff line Loading @@ -745,7 +745,7 @@ static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd, case NBD_DO_IT: { struct recv_thread_args *args; int num_connections = nbd->num_connections; int error, i; int error = 0, i; if (nbd->task_recv) return -EBUSY; Loading @@ -754,14 +754,17 @@ static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd, if (num_connections > 1 && !(nbd->flags & NBD_FLAG_CAN_MULTI_CONN)) { dev_err(disk_to_dev(nbd->disk), "server does not support multiple connections per device.\n"); error = -EINVAL; goto out_err; } set_bit(NBD_RUNNING, &nbd->runtime_flags); blk_mq_update_nr_hw_queues(&nbd->tag_set, nbd->num_connections); args = kcalloc(num_connections, sizeof(*args), GFP_KERNEL); if (!args) if (!args) { error = -ENOMEM; goto out_err; } nbd->task_recv = current; mutex_unlock(&nbd->config_lock); Loading