aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/drbd')
-rw-r--r--drivers/block/drbd/drbd_main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index bbe3bff2cad6..8bfedc7164fa 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -3763,6 +3763,9 @@ static int w_go_diskless(struct drbd_conf *mdev, struct drbd_work *w, int unused
3763 * the protected members anymore, though, so in the after_state_ch work 3763 * the protected members anymore, though, so in the after_state_ch work
3764 * it will be safe to free them. */ 3764 * it will be safe to free them. */
3765 drbd_force_state(mdev, NS(disk, D_DISKLESS)); 3765 drbd_force_state(mdev, NS(disk, D_DISKLESS));
3766 /* We need to wait for return of references checked out while we still
3767 * have been D_FAILED, though (drbd_md_sync, bitmap io). */
3768 wait_event(mdev->misc_wait, !atomic_read(&mdev->local_cnt));
3766 3769
3767 clear_bit(GO_DISKLESS, &mdev->flags); 3770 clear_bit(GO_DISKLESS, &mdev->flags);
3768 return 1; 3771 return 1;