aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/drbd')
-rw-r--r--drivers/block/drbd/drbd_worker.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index f41e224caa7c..7f51f88b0a80 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -1653,7 +1653,9 @@ void drbd_start_resync(struct drbd_conf *mdev, enum drbd_conns side)
1653 clear_bit(B_RS_H_DONE, &mdev->flags); 1653 clear_bit(B_RS_H_DONE, &mdev->flags);
1654 1654
1655 write_lock_irq(&global_state_lock); 1655 write_lock_irq(&global_state_lock);
1656 if (!get_ldev_if_state(mdev, D_NEGOTIATING)) { 1656 /* Did some connection breakage or IO error race with us? */
1657 if (mdev->state.conn < C_CONNECTED
1658 || !get_ldev_if_state(mdev, D_NEGOTIATING)) {
1657 write_unlock_irq(&global_state_lock); 1659 write_unlock_irq(&global_state_lock);
1658 mutex_unlock(mdev->state_mutex); 1660 mutex_unlock(mdev->state_mutex);
1659 return; 1661 return;