RE: [PATCH 9/9] [RFC] nvme: Fix a race condition

2016-09-28 Thread Steve Wise
> > Hello James and Steve, > > I will add a comment. > > Please note that the above patch does not change the behavior of > nvme_stop_queues() except that it causes nvme_stop_queues() to wait > until any ongoing nvme_queue_rq() calls have finished. > blk_resume_queue() does not affect the value

Re: [PATCH 9/9] [RFC] nvme: Fix a race condition

2016-09-27 Thread Bart Van Assche
On 09/27/2016 09:56 AM, James Bottomley wrote: On Tue, 2016-09-27 at 09:43 -0700, Bart Van Assche wrote: On 09/27/2016 09:31 AM, Steve Wise wrote: @@ -2079,11 +2075,15 @@ EXPORT_SYMBOL_GPL(nvme_kill_queues); void nvme_stop_queues(struct nvme_ctrl *ctrl) { struct nvme_ns *ns; +

RE: [PATCH 9/9] [RFC] nvme: Fix a race condition

2016-09-27 Thread Steve Wise
> On 09/27/2016 09:31 AM, Steve Wise wrote: > >> @@ -2079,11 +2075,15 @@ EXPORT_SYMBOL_GPL(nvme_kill_queues); > >> void nvme_stop_queues(struct nvme_ctrl *ctrl) > >> { > >>struct nvme_ns *ns; > >> + struct request_queue *q; > >> > >>mutex_lock(>namespaces_mutex); > >>

Re: [PATCH 9/9] [RFC] nvme: Fix a race condition

2016-09-27 Thread James Bottomley
On Tue, 2016-09-27 at 09:43 -0700, Bart Van Assche wrote: > On 09/27/2016 09:31 AM, Steve Wise wrote: > > > @@ -2079,11 +2075,15 @@ EXPORT_SYMBOL_GPL(nvme_kill_queues); > > > void nvme_stop_queues(struct nvme_ctrl *ctrl) > > > { > > > struct nvme_ns *ns; > > > + struct request_queue *q; > > >

Re: [PATCH 9/9] [RFC] nvme: Fix a race condition

2016-09-27 Thread Bart Van Assche
On 09/27/2016 09:31 AM, Steve Wise wrote: @@ -2079,11 +2075,15 @@ EXPORT_SYMBOL_GPL(nvme_kill_queues); void nvme_stop_queues(struct nvme_ctrl *ctrl) { struct nvme_ns *ns; + struct request_queue *q; mutex_lock(>namespaces_mutex); list_for_each_entry(ns,

RE: [PATCH 9/9] [RFC] nvme: Fix a race condition

2016-09-27 Thread Steve Wise
> @@ -2079,11 +2075,15 @@ EXPORT_SYMBOL_GPL(nvme_kill_queues); > void nvme_stop_queues(struct nvme_ctrl *ctrl) > { > struct nvme_ns *ns; > + struct request_queue *q; > > mutex_lock(>namespaces_mutex); > list_for_each_entry(ns, >namespaces, list) { > -