• Tejun Heo's avatar
    block, cfq: fix race condition in cic creation path and tighten locking · 216284c3
    Tejun Heo authored
    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: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    216284c3
cfq-iosched.c 107 KB