mbox series

[0/4] rbd: fix a deadlock around header_rwsem and lock_rwsem

Message ID 20230925194036.197899-1-idryomov@gmail.com
Headers show
Series rbd: fix a deadlock around header_rwsem and lock_rwsem | expand

Message

Ilya Dryomov Sept. 25, 2023, 7:40 p.m. UTC
Hello,

This fixes a deadlock which can occur when a watch error is hit while
the RBD driver is still recovering from a previous watch error.  This
lock cycle was discovered during some performance tests.

Thanks,

                Ilya


Ilya Dryomov (4):
  rbd: move rbd_dev_refresh() definition
  rbd: decouple header read-in from updating rbd_dev->header
  rbd: decouple parent info read-in from updating rbd_dev
  rbd: take header_rwsem in rbd_dev_refresh() only when updating

 drivers/block/rbd.c | 412 ++++++++++++++++++++++++--------------------
 1 file changed, 225 insertions(+), 187 deletions(-)