aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/array.c
diff options
context:
space:
mode:
authorBart Van Assche <[email protected]>2012-11-28 12:46:45 +0000
committerJens Axboe <[email protected]>2012-12-06 13:33:00 +0000
commit24faf6f604efe18236bded4303009fc252913bf0 (patch)
treebc4d35a38c44a37ffd718089729ae59b23d50d99 /fs/proc/array.c
parentblock: Avoid scheduling delayed work on a dead queue (diff)
downloadkernel-24faf6f604efe18236bded4303009fc252913bf0.tar.gz
kernel-24faf6f604efe18236bded4303009fc252913bf0.zip
block: Make blk_cleanup_queue() wait until request_fn finished
Some request_fn implementations, e.g. scsi_request_fn(), unlock the queue lock internally. This may result in multiple threads executing request_fn for the same queue simultaneously. Keep track of the number of active request_fn calls and make sure that blk_cleanup_queue() waits until all active request_fn invocations have finished. A block driver may start cleaning up resources needed by its request_fn as soon as blk_cleanup_queue() finished, so blk_cleanup_queue() must wait for all outstanding request_fn invocations to finish. Signed-off-by: Bart Van Assche <[email protected]> Reported-by: Chanho Min <[email protected]> Cc: James Bottomley <[email protected]> Cc: Mike Christie <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions