summaryrefslogtreecommitdiffstats
path: root/block/blk-ioc.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-12-14 00:33:38 +0100
committerJens Axboe <axboe@kernel.dk>2011-12-14 00:33:38 +0100
commit216284c352a0061f5b20acff2c4e50fb43fea183 (patch)
tree01611f6d35c041a941269cb3dd3926c0711722ae /block/blk-ioc.c
parentdc86900e0a8f665122de6faadd27fb4c6d2b3e4d (diff)
downloadlinux-216284c352a0061f5b20acff2c4e50fb43fea183.tar.gz
linux-216284c352a0061f5b20acff2c4e50fb43fea183.tar.bz2
linux-216284c352a0061f5b20acff2c4e50fb43fea183.zip
block, cfq: fix race condition in cic creation path and tighten locking
cfq_get_io_context() would fail if multiple tasks race to insert cic's for the same association. This patch restructures cfq_get_io_context() such that slow path insertion race is handled properly. Note that the restructuring also makes cfq_get_io_context() called under queue_lock and performs both ioc and cfqd insertions while holding both ioc and queue locks. This is part of on-going locking tightening and will be used to simplify synchronization rules. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-ioc.c')
0 files changed, 0 insertions, 0 deletions