[PATCH] blk_queue_start_tag() shared map race fix
authorJens Axboe <axboe@kernel.dk>
Thu, 21 Sep 2006 18:37:22 +0000 (20:37 +0200)
committerJens Axboe <axboe@nelson.home.kernel.dk>
Sat, 30 Sep 2006 18:52:34 +0000 (20:52 +0200)
commit059af497c23492cb1ddcbba11c09dad385960bc0
tree656bbfa7104e065f0da8eac0c14b62ba1c088214
parent0fe23479577124bd2687e6783e39fa0fa4c28005
[PATCH] blk_queue_start_tag() shared map race fix

If we share the tag map between two or more queues, then we cannot
use __set_bit() to set the bit. In fact we need to make sure we
atomically acquire this tag, so loop using test_and_set_bit() to
protect from that.

Noticed by Mike Christie <michaelc@cs.wisc.edu>

Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/ll_rw_blk.c