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@xxxxxxxxxx> > Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> > Cc: Mike Christie <michaelc@xxxxxxxxxxx> > Cc: James Smart <james.smart@xxxxxxxxxx> > --- > 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@xxxxxxxxxxxx> _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers