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")
Signed-off-by: Rakesh Pandit <rak...@tuxera.com>
---

V3: Propagate return value from nvm_reserve_luns instead of hard-coding (Frans)
V2: return error code directly instead of using ret variable (Frans)

 drivers/lightnvm/core.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c
index b8f82f5..ddae430 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)
        }
        mutex_unlock(&dev->mlock);
 
-       if (nvm_reserve_luns(dev, s->lun_begin, s->lun_end))
-               return -ENOMEM;
+       ret = nvm_reserve_luns(dev, s->lun_begin, s->lun_end);
+       if (ret)
+               return ret;
 
        t = kmalloc(sizeof(struct nvm_target), GFP_KERNEL);
        if (!t) {
-- 
2.5.5

Reply via email to