Re: [PATCH 02/11] block: relocate elevator initialized test fromblk_cleanup_queue() to blk_drain_queue()

From: Vivek Goyal
Date: Thu Feb 02 2012 - 15:37:15 EST


On Thu, Feb 02, 2012 at 12:35:13PM -0800, Tejun Heo wrote:
> Hello,
>
> On Thu, Feb 02, 2012 at 03:20:42PM -0500, Vivek Goyal wrote:
> > > @@ -359,6 +359,13 @@ EXPORT_SYMBOL(blk_put_queue);
> > > */
> > > void blk_drain_queue(struct request_queue *q, bool drain_all)
> > > {
> > > + /*
> > > + * The caller might be trying to tear down @q before its elevator
> > > + * is initialized, in which case we don't want to call into it.
> > > + */
> > > + if (!q->elevator)
> > > + return;
> > > +
> >
> > Shouldn't blk_throtl_drain() be called irrespective of the fact whether
> > elevator is initilialized or not? On bio based drivers, there will be
> > no elevator but bios can still be throttled.
>
> Hmmm... probably, but doesn't that mean the code is already broken for
> bio based drivers using throtl?

Yes looks like it is already broken for bio based drivers. So it is a fix
independent of this patch/patch series.

Thanks
Vivek
--
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/