From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bart Van Assche Subject: Re: [PATCH 01/12] scsi_transport_srp: Introduce srp_wait_for_queuecommand() Date: Thu, 30 Apr 2015 12:26:21 +0200 Message-ID: <5542034D.5010300@sandisk.com> References: <5541EE21.3050809@sandisk.com> <5541EE4A.30803@sandisk.com> <20150430093719.GA23486@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20150430093719.GA23486@infradead.org> Sender: linux-scsi-owner@vger.kernel.org To: Christoph Hellwig Cc: Doug Ledford , James Bottomley , Sagi Grimberg , Sebastian Parschauer , linux-rdma , "linux-scsi@vger.kernel.org" List-Id: linux-rdma@vger.kernel.org On 04/30/15 11:37, Christoph Hellwig wrote: > On Thu, Apr 30, 2015 at 10:56:42AM +0200, Bart Van Assche wrote: >> Introduce the helper function srp_wait_for_queuecommand(). >> Move the definition of scsi_request_fn_active(). This patch >> does not change any functionality. A second call to >> scsi_wait_for_queuecommand() will be introduced in the next >> patch. > > Can we take a step back here? > > This isn;t something driver should be doing, so we really should take > care of this in the SCSI midlayer. > > Especially given that we don't maintain request_fn_active for blk-mq. Hello Christoph, How about the following: * Modify scsi_target_block() and scsi_target_unblock(..., SDEV_TRANSPORT_OFFLINE) such that these functions wait until active queuecommand() calls have finished. * Ensure that this approach works not only for the traditional block layer but also for blk-mq. With these changes it won't be necessary anymore to have something like srp_wait_for_queuecommand() in the SRP transport layer. Bart.