summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_worker.c
diff options
context:
space:
mode:
authorPhilipp Reisner2011-02-11 19:43:55 +0100
committerPhilipp Reisner2011-10-14 16:45:01 +0200
commitdad20554812e73a2bfbe45d1b161d5d3c249e597 (patch)
treecd2e1d689a8366f0f460c63f6c37fc4797ab1820 /drivers/block/drbd/drbd_worker.c
parentdrbd: Killed volume0; last step of multi-volume-enablement (diff)
downloadkernel-qcow2-linux-dad20554812e73a2bfbe45d1b161d5d3c249e597.tar.gz
kernel-qcow2-linux-dad20554812e73a2bfbe45d1b161d5d3c249e597.tar.xz
kernel-qcow2-linux-dad20554812e73a2bfbe45d1b161d5d3c249e597.zip
drbd: Removed drbd_state_lock() and drbd_state_unlock()
The lock they constructed is only taken when the state_mutex was already taken. It is superficial. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_worker.c')
-rw-r--r--drivers/block/drbd/drbd_worker.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index eee017dd6d7d..e8448712b958 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -1536,21 +1536,21 @@ void drbd_start_resync(struct drbd_conf *mdev, enum drbd_conns side)
}
if (current == mdev->tconn->worker.task) {
- /* The worker should not sleep waiting for drbd_state_lock(),
+ /* The worker should not sleep waiting for state_mutex,
that can take long */
- if (test_and_set_bit(CLUSTER_ST_CHANGE, &mdev->flags)) {
+ 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 {
- drbd_state_lock(mdev);
+ mutex_lock(&mdev->state_mutex);
}
clear_bit(B_RS_H_DONE, &mdev->flags);
if (!get_ldev_if_state(mdev, D_NEGOTIATING)) {
- drbd_state_unlock(mdev);
+ mutex_unlock(&mdev->state_mutex);
return;
}
@@ -1639,7 +1639,7 @@ void drbd_start_resync(struct drbd_conf *mdev, enum drbd_conns side)
drbd_md_sync(mdev);
}
put_ldev(mdev);
- drbd_state_unlock(mdev);
+ mutex_unlock(&mdev->state_mutex);
}
static int _worker_dying(int vnr, void *p, void *data)