aboutsummaryrefslogtreecommitdiff
path: root/drivers/dma
diff options
context:
space:
mode:
authorIlya Dryomov2024-01-17 18:59:44 +0100
committerIlya Dryomov2024-01-22 00:14:10 +0100
commitded080c86b3f99683774af0441a58fc2e3d60cae (patch)
tree323d8acf3c8de9037a49b9e8399e855b116d32fa /drivers/dma
parentcd30e8bde28ac361e15d67ee5c00e0125ed42548 (diff)
rbd: don't move requests to the running list on errors
The running list is supposed to contain requests that are pinning the exclusive lock, i.e. those that must be flushed before exclusive lock is released. When wake_lock_waiters() is called to handle an error, requests on the acquiring list are failed with that error and no flushing takes place. Briefly moving them to the running list is not only pointless but also harmful: if exclusive lock gets acquired before all of their state machines are scheduled and go through rbd_lock_del_request(), we trigger rbd_assert(list_empty(&rbd_dev->running_list)); in rbd_try_acquire_lock(). Cc: stable@vger.kernel.org Fixes: 637cd060537d ("rbd: new exclusive lock wait/wake code") Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Reviewed-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
Diffstat (limited to 'drivers/dma')
0 files changed, 0 insertions, 0 deletions