diff options
author | Philipp Reisner | 2011-11-30 23:25:36 +0100 |
---|---|---|
committer | Philipp Reisner | 2012-11-08 16:58:10 +0100 |
commit | d10b4ea32bf2b77a3d56a20992cd549978df7b38 (patch) | |
tree | 2232db150857cd6d5d7f33967d8955475051e599 /drivers/block | |
parent | 615e087fbd7483fafa28c8a1a4d1656251e0604d (diff) |
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>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/drbd/drbd_receiver.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index 9c888e5b648f..e546dd3fab8a 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/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; |