Message ID | 1502735133-15841-1-git-send-email-josef@toxicpanda.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 08/14/2017 12:25 PM, Josef Bacik wrote: > From: Josef Bacik <jbacik@fb.com> > > 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. Added for 4.14, thanks.
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index 5bdf923..d816ae7 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -1584,6 +1584,15 @@ static int nbd_genl_connect(struct sk_buff *skb, struct genl_info *info) } } else { 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) { printk(KERN_ERR "nbd: couldn't find device at index %d\n",