drbd: Introduced tconn->cstate_mutex
In compatibility mode with old DRBDs, use that as the state_mutex
as well.
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index e844871..9a9a00e 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -1538,19 +1538,19 @@
if (current == mdev->tconn->worker.task) {
/* The worker should not sleep waiting for state_mutex,
that can take long */
- if (!mutex_trylock(&mdev->state_mutex)) {
+ if (!mutex_trylock(mdev->state_mutex)) {
set_bit(B_RS_H_DONE, &mdev->flags);
mdev->start_resync_timer.expires = jiffies + HZ/5;
add_timer(&mdev->start_resync_timer);
return;
}
} else {
- mutex_lock(&mdev->state_mutex);
+ mutex_lock(mdev->state_mutex);
}
clear_bit(B_RS_H_DONE, &mdev->flags);
if (!get_ldev_if_state(mdev, D_NEGOTIATING)) {
- mutex_unlock(&mdev->state_mutex);
+ mutex_unlock(mdev->state_mutex);
return;
}
@@ -1639,7 +1639,7 @@
drbd_md_sync(mdev);
}
put_ldev(mdev);
- mutex_unlock(&mdev->state_mutex);
+ mutex_unlock(mdev->state_mutex);
}
static int _worker_dying(int vnr, void *p, void *data)