nbd: allow device creation at a specific index

If users really want to use a particular index for their nbd device and it
doesn't already exist there's no reason we can't just create it for them.  Do
this instead of erroring out.

Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Josef Bacik 2017-08-14 18:25:33 +00:00 committed by Jens Axboe
parent a8c1d064d3
commit e6a76272d0

View File

@ -1584,6 +1584,15 @@ again:
} }
} else { } else {
nbd = idr_find(&nbd_index_idr, index); nbd = idr_find(&nbd_index_idr, index);
if (!nbd) {
ret = nbd_dev_add(index);
if (ret < 0) {
mutex_unlock(&nbd_index_mutex);
printk(KERN_ERR "nbd: failed to add new device\n");
return ret;
}
nbd = idr_find(&nbd_index_idr, index);
}
} }
if (!nbd) { if (!nbd) {
printk(KERN_ERR "nbd: couldn't find device at index %d\n", printk(KERN_ERR "nbd: couldn't find device at index %d\n",