Re: [PATCH] block: wrong return value

From: Jens Axboe
Date: Thu Oct 23 2014 - 10:12:13 EST


On 10/23/2014 07:20 AM, Sudip Mukherjee wrote:
> while compiling integer err was showing as a set but unused variable.
> elevator_init_fn can be either cfq_init_queue or deadline_init_queue
> or noop_init_queue.
> all three of these functions are returning -ENOMEM if they fail to
> allocate the queue.
> so we should actually be returning the error code rather than
> returning 0 always.

That does look weird. You need an elevator_put() in the error case,
though, ala:

err = e->ops.elevator_init_fn(q, e);
if (err)
elevator_put(e);

return err;


--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/