summary refs log tree commit diff
path: root/drivers/block
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2010-05-19 16:28:28 +0200
committerJens Axboe <jens.axboe@oracle.com>2010-05-21 21:12:00 +0200
commit31a31dccdd308d5ec7f9a1197a7875a246a348dc (patch)
tree88e6f8030ac768476433599d1276c0875862fb4f /drivers/block
parentdf96e96f76571c30d903829a7b2ab2b421028790 (diff)
downloadlinux-31a31dccdd308d5ec7f9a1197a7875a246a348dc.tar.gz
drbd: Do not Oops when C_STANDALONE when uuid gets generated
Got introduces with

commit 0c3f34516e8c5a1a0ba3585a7777d32bbbdf4ecb
Author: Philipp Reisner <philipp.reisner@linbit.com>
Date:   Mon May 17 16:10:43 2010 +0200

    drbd: Create new current UUID as late as possible

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/drbd/drbd_main.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index c144509011b8..7e057b074bbd 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -1354,7 +1354,10 @@ static int w_new_current_uuid(struct drbd_conf *mdev, struct drbd_work *w, int c
 {
 	if (get_ldev(mdev)) {
 		drbd_uuid_new_current(mdev);
-		drbd_send_uuids(mdev);
+		if (get_net_conf(mdev)) {
+			drbd_send_uuids(mdev);
+			put_net_conf(mdev);
+		}
 		drbd_md_sync(mdev);
 		put_ldev(mdev);
 	}