• Tejun Heo's avatar
    block: drop custom queue draining used by scsi_transport_{iscsi|fc} · 86072d81
    Tejun Heo authored
    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: default avatarTejun Heo <tj@kernel.org>
    Reviewed-by: default avatarMike Christie <michaelc@cs.wisc.edu>
    Acked-by: default avatarVivek Goyal <vgoyal@redhat.com>
    Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
    Cc: James Smart <james.smart@emulex.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    86072d81
scsi_transport_fc.c 120 KB