Browse Source

drbd: Get rid of "ASSERTION FAILED: tconn->current_epoch->list not empty"

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Philipp Reisner 13 years ago
parent
commit
d10b4ea32b
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/block/drbd/drbd_receiver.c

+ 5 - 0
drivers/block/drbd/drbd_receiver.c

@@ -4440,6 +4440,11 @@ static int drbd_disconnected(struct drbd_conf *mdev)
 
 	drbd_finish_peer_reqs(mdev);
 
+	/* This second workqueue flush is necessary, since drbd_finish_peer_reqs()
+	   might have issued a work again. The one before drbd_finish_peer_reqs() is
+	   necessary to reclain net_ee in drbd_finish_peer_reqs(). */
+	drbd_flush_workqueue(mdev);
+
 	kfree(mdev->p_uuid);
 	mdev->p_uuid = NULL;