2 May 2012 06:55
Re: [PATCH 05/11] block: drop custom queue draining used by scsi_transport_{iscsi|fc}
On 04/26/2012 04:59 PM, Tejun Heo wrote: > iscsi_remove_host() uses bsg_remove_queue() which implements custom > queue draining. fc_bsg_remove() open-codes mostly identical logic. > > The draining logic isn't correct in that blk_stop_queue() doesn't > prevent new requests from being queued - it just stops processing, so > nothing prevents new requests to be queued after the logic determines > that the queue is drained. > > blk_cleanup_queue() now implements proper queue draining and these > custom draining logics aren't necessary. Drop them and use > bsg_unregister_queue() + blk_cleanup_queue() instead. > > Signed-off-by: Tejun Heo <tj@...> > Cc: James Bottomley <James.Bottomley@...> > Cc: Mike Christie <michaelc@...> > Cc: James Smart <james.smart@...> > --- > block/bsg-lib.c | 53 ----------------------------------- > drivers/scsi/scsi_transport_fc.c | 38 ------------------------- > drivers/scsi/scsi_transport_iscsi.c | 2 +- iSCSI changes worked ok for me. I replicated the problem that the old code was supposed to fix and verified the new code worked ok. I also tested the FC code briefly (I do not have a proper setup to really stress it), and it worked ok. Thanks for killing that code for us. Reviewed-by: Mike Christie <michaelc <at> .cs.wisc.edu>
RSS Feed