Re: [PATCH 1/7] blk-mq: fix use of incorrect goto label in blk_mq_init_queue error path

From: Mike Snitzer
Date: Thu Mar 12 2015 - 09:52:00 EST


On Thu, Mar 12 2015 at 3:48am -0400,
Ming Lei <tom.leiming@xxxxxxxxx> wrote:

> On Thu, Mar 12, 2015 at 11:56 AM, Mike Snitzer <snitzer@xxxxxxxxxx> wrote:
> > If percpu_ref_init() fails the 'err_hctxs' label should be used instead
> > of 'err_map'.
> >
> > Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
> > ---
> > block/blk-mq.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/block/blk-mq.c b/block/blk-mq.c
> > index 4f4bea2..459840c 100644
> > --- a/block/blk-mq.c
> > +++ b/block/blk-mq.c
> > @@ -1938,7 +1938,7 @@ struct request_queue *blk_mq_init_queue(struct blk_mq_tag_set *set)
> > */
> > if (percpu_ref_init(&q->mq_usage_counter, blk_mq_usage_counter_release,
> > PERCPU_REF_INIT_ATOMIC, GFP_KERNEL))
> > - goto err_map;
> > + goto err_hctxs;
>
> If it is changed to 'goto err_hctxs', percpu_ref_init() need to
> move before blk_alloc_queue_node(), otherwise just 'goto err_hw'
> is enough, but the former is better.

Yes, you're correct. Patch 2 happened to eliminate this problem. But
I'll get it fixed up and post v2.

The reason this thinko happened is I noticed the problem after I moved
the blk_alloc_queue_node() out in patch 2 and when I rebased to reorder
the fix before that patch 2 context got lost in the shuffle.

Thanks for your review!
--
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/