• Tejun Heo's avatar
    block: fix lockdep warning on io_context release put_io_context() · d8c66c5d
    Tejun Heo authored
    11a3122f "block: strip out locking optimization in put_io_context()"
    removed ioc_lock depth lockdep annoation along with locking
    optimization; however, while recursing from put_io_context() is no
    longer possible, ioc_release_fn() may still end up putting the last
    reference of another ioc through elevator, which wlil grab ioc->lock
    triggering spurious (as the ioc is always different one) A-A deadlock
    warning.
    
    As this can only happen one time from ioc_release_fn(), using non-zero
    subclass from ioc_release_fn() is enough.  Use subclass 1.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    d8c66c5d
blk-ioc.c 10.6 KB