On Wed, Nov 28, 2018 at 10:56:25AM -0700, Keith Busch wrote:
> On Wed, Nov 28, 2018 at 09:26:55AM -0700, Keith Busch wrote:
> > ---
> > diff --git a/drivers/nvme/target/loop.c b/drivers/nvme/target/loop.c
> > index 9908082b32c4..116398b240e5 100644
> > --- a/drivers/nvme/target/loop.c
> > +++ b/drivers/nvme/target/loop.c
> > @@ -428,10 +428,14 @@ static int nvme_loop_configure_admin_queue(struct 
> > nvme_loop_ctrl *ctrl)
> >  static void nvme_loop_shutdown_ctrl(struct nvme_loop_ctrl *ctrl)
> >  {
> >     if (ctrl->ctrl.queue_count > 1) {
> > -           nvme_stop_queues(&ctrl->ctrl);
> > -           blk_mq_tagset_busy_iter(&ctrl->tag_set,
> > -                                   nvme_cancel_request, &ctrl->ctrl);
> > +           /*
> > +            * The back end device driver is responsible for completing all
> > +            * entered requests
> > +            */
> > +           nvme_start_freeze(&ctrl->ctrl);
> > +           nvme_wait_freeze(&ctrl->ctrl);
> >             nvme_loop_destroy_io_queues(ctrl);
> > +           nvme_unfreeze(&ctrl->ctrl);
> >     }
> >  
> >     if (ctrl->ctrl.state == NVME_CTRL_LIVE)
> > ---
> 
> The above tests fine with io and nvme resets on a target nvme loop
> backed by null_blk, but I also couldn't recreate the original report
> without the patch.
> 
> Ming,
> 
> Could you tell me a little more how you set it up? I'm just configuring
> null_blk with queue_mode=2 irqmode=2. Anything else to recreate?

No any parameters for null_blk.

You may find all the scripts and .json here:

http://people.redhat.com/minlei/tests/tools/nvme/

And the test entry is nvme_sanity.

thanks,
Ming

Reply via email to