On Wed, Jul 05, 2017 at 09:53:06AM +0300, Sagi Grimberg wrote: > unlike blk_mq_stop_hw_queues and blk_mq_start_stopped_hw_queues > quiescing/unquiescing respects the submission path rcu grace. > > Signed-off-by: Sagi Grimberg <sagi@xxxxxxxxxxx> > --- > drivers/nvme/target/loop.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/nvme/target/loop.c b/drivers/nvme/target/loop.c > index 3d51341e62ee..6a0b70685e77 100644 > --- a/drivers/nvme/target/loop.c > +++ b/drivers/nvme/target/loop.c > @@ -434,9 +434,10 @@ static void nvme_loop_shutdown_ctrl(struct nvme_loop_ctrl *ctrl) > if (ctrl->ctrl.state == NVME_CTRL_LIVE) > nvme_shutdown_ctrl(&ctrl->ctrl); > > - blk_mq_stop_hw_queues(ctrl->ctrl.admin_q); > + blk_mq_quiesce_queue(ctrl->ctrl.admin_q); > blk_mq_tagset_busy_iter(&ctrl->admin_tag_set, > nvme_cancel_request, &ctrl->ctrl); > + blk_mq_unquiesce_queue(ctrl->ctrl.admin_q); > nvme_loop_destroy_admin_queue(ctrl); > } > > -- > 2.7.4 > Reviewed-by: Ming Lei <ming.lei@xxxxxxxxxx> -- Ming