diff options
author | Tejun Heo <tj@kernel.org> | 2012-06-05 07:40:54 +0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2012-06-25 13:53:48 +0400 |
commit | 86072d8112595ea1b6beeb33f578e7c2839e014e (patch) | |
tree | ad49aefc355232e099c07c4a371b437e5241981f /include/linux/bsg-lib.h | |
parent | a91a5ac6858fbf7477131e1210cb3e897b668e6f (diff) | |
download | linux-86072d8112595ea1b6beeb33f578e7c2839e014e.tar.xz |
block: drop custom queue draining used by scsi_transport_{iscsi|fc}
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@kernel.org>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: James Smart <james.smart@emulex.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/bsg-lib.h')
-rw-r--r-- | include/linux/bsg-lib.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/bsg-lib.h b/include/linux/bsg-lib.h index f55ab8cdc106..4d0fb3df2f4a 100644 --- a/include/linux/bsg-lib.h +++ b/include/linux/bsg-lib.h @@ -67,7 +67,6 @@ void bsg_job_done(struct bsg_job *job, int result, int bsg_setup_queue(struct device *dev, struct request_queue *q, char *name, bsg_job_fn *job_fn, int dd_job_size); void bsg_request_fn(struct request_queue *q); -void bsg_remove_queue(struct request_queue *q); void bsg_goose_queue(struct request_queue *q); #endif |