drbd: Get rid of "ASSERTION FAILED: tconn->current_epoch->list not empty"
authorPhilipp Reisner <philipp.reisner@linbit.com>
Wed, 30 Nov 2011 22:25:36 +0000 (23:25 +0100)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 8 Nov 2012 15:58:10 +0000 (16:58 +0100)
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_receiver.c

index 9c888e5b648fa063df8587ed4394e33522fd2fbf..e546dd3fab8a8100a5380b37bb4fc11a6e6d8583 100644 (file)
@@ -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;