kernel_samsung_a53x/drivers/block
Ilya Dryomov 05a4c2b899 rbd: don't move requests to the running list on errors
commit ded080c86b3f99683774af0441a58fc2e3d60cae upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-18 12:13:02 +01:00
..
aoe Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
drbd Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mtip32xx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
null_blk Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
paride Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rnbd Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rsxx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xen-blkback Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
zram zram: use copy_page for full page copy 2024-11-17 17:41:38 +01:00
amiflop.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ataflop.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
brd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cryptoloop.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
floppy.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
loop.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
loop.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nbd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pktcdvd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ps3disk.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ps3vram.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rbd.c rbd: don't move requests to the running list on errors 2024-11-18 12:13:02 +01:00
rbd_types.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
skd_main.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
skd_s1120.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sunvdc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
swim.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
swim3.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
swim_asm.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
umem.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
umem.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
virtio_blk.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xen-blkfront.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xsysace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
z2ram.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00