aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/drbd-utils/drbd-utils.SlackBuild8
-rw-r--r--system/drbd-utils/patches/xen_handle_physical_device_paths.diff25
2 files changed, 31 insertions, 2 deletions
diff --git a/system/drbd-utils/drbd-utils.SlackBuild b/system/drbd-utils/drbd-utils.SlackBuild
index 7596695cbdab7..f5a3364b8dc17 100644
--- a/system/drbd-utils/drbd-utils.SlackBuild
+++ b/system/drbd-utils/drbd-utils.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for drbd-utils
-# Copyright 2014 Mario Preksavec, Zagreb, HR
+# Copyright 2014, 2015 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=drbd-utils
VERSION=${VERSION:-8.9.1}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -69,6 +69,10 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+# This patch allows resources with path: drbd:/dev/drbd/by-res/<resource>
+# Xen HVM domains will be able to live migrate with qemu-xen-traditional
+patch -p1 <$CWD/patches/xen_handle_physical_device_paths.diff
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/system/drbd-utils/patches/xen_handle_physical_device_paths.diff b/system/drbd-utils/patches/xen_handle_physical_device_paths.diff
new file mode 100644
index 0000000000000..dd36a4af57854
--- /dev/null
+++ b/system/drbd-utils/patches/xen_handle_physical_device_paths.diff
@@ -0,0 +1,25 @@
+--- drbd-utils-8.9.1/scripts/block-drbd.orig 2014-07-04 14:23:23.000000000 +0200
++++ drbd-utils-8.9.1/scripts/block-drbd 2015-02-16 02:50:39.257522006 +0100
+@@ -251,6 +251,7 @@
+
+ case $t in
+ drbd|phy)
++ p=${p/*dev*drbd*by-res\/} # Clean physical device paths
+ drbd_resource=$p
+ drbd_role="$(drbdadm role $drbd_resource)"
+ drbd_lrole="${drbd_role%%/*}"
+@@ -280,12 +281,14 @@
+ case $t in
+ drbd|phy)
+ p=$(xenstore_read "$XENBUS_PATH/params")
++ p=${p/*dev*drbd*by-res\/} # Clean physical device paths
+ drbd_resource=$p
+ drbd_role="$(drbdadm role $drbd_resource)"
+ drbd_lrole="${drbd_role%%/*}"
+ drbd_dev="$(drbdadm sh-dev $drbd_resource)"
+
+ if [ "$drbd_lrole" != 'Secondary' ]; then
++ sleep 1 # Sleep for a second just in case
+ drbdadm secondary $drbd_resource
+ fi
+ exit 0