drbd: drbd_md_sync before calling user space helpers
authorLars Ellenberg <lars.ellenberg@linbit.com>
Mon, 19 Jul 2010 15:41:04 +0000 (17:41 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 14 Oct 2010 16:38:31 +0000 (18:38 +0200)
Just in case we have some pending meta data changes to sync, do it
before we call our userland helper, as that may take some time,
or even cause a hard reboot.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_nl.c

index e0061a906ba80fc4108f850f526e863ae5bc4461..5b30f90cab3e33fc40869d16610f53ee4e2a794a 100644 (file)
@@ -172,6 +172,10 @@ int drbd_khelper(struct drbd_conf *mdev, char *cmd)
                put_net_conf(mdev);
        }
 
+       /* The helper may take some time.
+        * write out any unsynced meta data changes now */
+       drbd_md_sync(mdev);
+
        dev_info(DEV, "helper command: %s %s %s\n", usermode_helper, cmd, mb);
 
        drbd_bcast_ev_helper(mdev, cmd);