[PATCH-4.7 2/3] NVMe: Short-cut removal on surprise hot-unplug

Christoph Hellwig hch at infradead.org
Thu May 12 00:06:18 PDT 2016


On Tue, May 10, 2016 at 03:16:27PM -0400, Keith Busch wrote:
> On Tue, May 03, 2016 at 01:01:40AM -0700, Christoph Hellwig wrote:
> > > @@ -1584,6 +1593,9 @@ void nvme_remove_namespaces(struct nvme_ctrl *ctrl)
> > >  {
> > >  	struct nvme_ns *ns, *next;
> > >  
> > > +	if (ctrl->state == NVME_CTRL_DEAD)
> > > +		nvme_kill_queues(ctrl);
> > > +
> > >  	mutex_lock(&ctrl->namespaces_mutex);
> > >  	list_for_each_entry_safe(ns, next, &ctrl->namespaces, list)
> > >  		nvme_ns_remove(ns);
> > 
> > Not happy about so much magic.. At least add comments explaining why
> > you're doing this, and that it's just an optimization.
> 
> We could just call nvme_kill_queues from the pci driver's nvme_remove
> instead of adding the state. I just thought this was universally useful
> for a non-graceful disconnect.

I think it's useful, it's just a little too magic to go without a
comment.  Can you add comments explaining it and resend?



More information about the Linux-nvme mailing list