drbd: Fix locking across all resources
Instead of using a rwlock for synchronizing state changes across resources, take the request locks of all resources for global state changes. Use resources_mutex to serialize global state changes. This means that taking the request lock of a resource is now enough to prevent changes of that resource. (Previously, a read lock on the global state lock was needed as well.) Signed-off-by:Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by:
Lars Ellenberg <lars.ellenberg@linbit.com> Signed-off-by:
Jens Axboe <axboe@fb.com>
Showing
- drivers/block/drbd/drbd_int.h 4 additions, 14 deletionsdrivers/block/drbd/drbd_int.h
- drivers/block/drbd/drbd_main.c 23 additions, 1 deletiondrivers/block/drbd/drbd_main.c
- drivers/block/drbd/drbd_nl.c 24 additions, 21 deletionsdrivers/block/drbd/drbd_nl.c
- drivers/block/drbd/drbd_state.c 7 additions, 7 deletionsdrivers/block/drbd/drbd_state.c
- drivers/block/drbd/drbd_state.h 3 additions, 3 deletionsdrivers/block/drbd/drbd_state.h
- drivers/block/drbd/drbd_worker.c 38 additions, 47 deletionsdrivers/block/drbd/drbd_worker.c
Please register or sign in to comment