On Tue, Jun 27, 2017 at 1:23 PM, Rakesh Pandit <rakesh@xxxxxxxxxx> wrote: > On Tue, Jun 27, 2017 at 01:01:22PM +0200, Frans Klaver wrote: >> On Tue, Jun 27, 2017 at 12:43 PM, Rakesh Pandit <rakesh@xxxxxxxxxx> wrote: >> > 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 <rakesh@xxxxxxxxxx> >> > --- >> > >> > V2: return error code directly instead of using ret variable (Frans) >> > >> > drivers/lightnvm/core.c | 2 +- >> > 1 file changed, 1 insertion(+), 1 deletion(-) >> > >> > diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c >> > index b8f82f5..c5d71c6 100644 >> > --- a/drivers/lightnvm/core.c >> > +++ b/drivers/lightnvm/core.c >> > @@ -253,7 +253,7 @@ 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; >> > + return -EBUSY; >> >> Why aren't you propagating ret in this version? > > Well nvm_reserve_luns either returns 0 or -EBUSY and it is unlikely > that return value would change and even if it does this can be > updated. If you propagate the result of nvm_reserve_luns(), the casual reader will immediately understand that any possible faulty result is returned. returning -EBUSY here might suggest you're overriding whatever this function returns.