diff options
author | Rakesh Pandit <rakesh@tuxera.com> | 2017-06-27 07:55:33 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-06-27 10:22:09 -0400 |
commit | 12e9a6d62236dacb87a6b2dd84dd9c29bb5be1de (patch) | |
tree | c5bd791aa194772ec7eca4c1842b0d81cdeed2d3 /drivers/lightnvm/core.c | |
parent | 588726d3ec68b66be2e2881d2b85060ff383078a (diff) |
lightnvm: if LUNs are already allocated fix return
While creating new device with NVM_DEV_CREATE if LUNs are already
allocated ioctl would return -ENOMEM which is wrong. This patch
propagates -EBUSY from nvm_reserve_luns which is correct response.
Fixes: ade69e243 ("lightnvm: merge gennvm with core")
Reviewed-by: Frans Klaver <fransklaver@gmail.com>
Signed-off-by: Rakesh Pandit <rakesh@tuxera.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/lightnvm/core.c')
-rw-r--r-- | drivers/lightnvm/core.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c index b8f82f5c6c0d..ddae430b6eae 100644 --- a/drivers/lightnvm/core.c +++ b/drivers/lightnvm/core.c | |||
@@ -252,8 +252,9 @@ static int nvm_create_tgt(struct nvm_dev *dev, struct nvm_ioctl_create *create) | |||
252 | } | 252 | } |
253 | mutex_unlock(&dev->mlock); | 253 | mutex_unlock(&dev->mlock); |
254 | 254 | ||
255 | if (nvm_reserve_luns(dev, s->lun_begin, s->lun_end)) | 255 | ret = nvm_reserve_luns(dev, s->lun_begin, s->lun_end); |
256 | return -ENOMEM; | 256 | if (ret) |
257 | return ret; | ||
257 | 258 | ||
258 | t = kmalloc(sizeof(struct nvm_target), GFP_KERNEL); | 259 | t = kmalloc(sizeof(struct nvm_target), GFP_KERNEL); |
259 | if (!t) { | 260 | if (!t) { |