Re: [PATCH v2 3/8] blk-mq: use the introduced blk_mq_unquiesce_queue()

Ming Lei
2017-05-31T02:30:10Z

On Tue, May 30, 2017 at 03:12:41PM +0000, Bart Van Assche wrote:
> On Sat, 2017-05-27 at 22:21 +0800, Ming Lei wrote:
> > --- a/drivers/scsi/scsi_lib.c
> > +++ b/drivers/scsi/scsi_lib.c
> > @@ -3030,7 +3030,10 @@ scsi_internal_device_unblock(struct scsi_device *sdev,
> > return -EINVAL;
> >
> > if (q->mq_ops) {
> > - blk_mq_start_stopped_hw_queues(q, false);
> > + if (blk_queue_quiesced(q))
> > + blk_mq_unquiesce_queue(q);
> > + else
> > + blk_mq_start_stopped_hw_queues(q, false);
> > } else {
> > spin_lock_irqsave(q->queue_lock, flags);
> > blk_start_queue(q);
>
> Hello Ming,
>
> Sorry but that change looks wrong to me. All what's needed here is a call
> to blk_mq_unquiesce_queue().

I think blk_mq_unquiesce_queue() should be called for case of queue
quiesced.

Thanks,
Ming