Hello community,

here is the log from the commit of package xen for openSUSE:Factory checked in 
at 2017-06-23 09:14:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
 and      /work/SRC/openSUSE:Factory/.xen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xen"

Fri Jun 23 09:14:58 2017 rev:231 rq:505582 version:4.9.0_08

Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes  2017-06-17 10:18:09.900583236 
+0200
+++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes     2017-06-23 
09:15:00.454897458 +0200
@@ -1,0 +2,14 @@
+Wed Jun 21 14:03:40 MDT 2017 - carn...@suse.com
+
+- Update block-dmmd script (bsc#1002573)
+  block-dmmd
+
+-------------------------------------------------------------------
+Tue Jun 20 15:18:25 MDT 2017 - carn...@suse.com
+
+- Update to Xen 4.9.0-rc8+ (fate#321394, fate#323108)
+  xen-4.9.0-testing-src.tar.bz2
+  gcc7-arm.patch
+- Drop gcc7-error-xenpmd.patch
+
+-------------------------------------------------------------------

Old:
----
  gcc7-error-xenpmd.patch

New:
----
  gcc7-arm.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.qXUB07/_old  2017-06-23 09:15:05.126237418 +0200
+++ /var/tmp/diff_new_pack.qXUB07/_new  2017-06-23 09:15:05.126237418 +0200
@@ -278,9 +278,9 @@
 Patch421:       xenpaging.doc.patch
 Patch422:       stubdom-have-iovec.patch
 Patch423:       vif-route.patch
-Patch424:       gcc7-error-xenpmd.patch
-Patch425:       gcc7-mini-os.patch
-Patch426:       gcc7-xen.patch
+Patch424:       gcc7-mini-os.patch
+Patch425:       gcc7-xen.patch
+Patch426:       gcc7-arm.patch
 # Other bug fixes or features
 Patch451:       xenconsole-no-multiple-connections.patch
 Patch452:       hibernate.patch

++++++ block-dmmd ++++++
--- /var/tmp/diff_new_pack.qXUB07/_old  2017-06-23 09:15:05.334208033 +0200
+++ /var/tmp/diff_new_pack.qXUB07/_new  2017-06-23 09:15:05.334208033 +0200
@@ -2,20 +2,32 @@
 
 # Usage: block-dmmd [add args | remove args]
 #     
-#  the dmmd device syntax (in xm/xl commands/configs) is something like:
-#   dmmd:md;/dev/md0;md;/dev/md1;lvm;/dev/vg1/lv1
+#  the dmmd device syntax (in xl commands/configs) is something like:
+#   script=block-dmmd,md;/dev/md0;md;/dev/md1;lvm;/dev/vg1/lv1
 #  or
-#   dmmd:lvm;/dev/vg1/lv1;lvm;/dev/vg1/lv2;md;/dev/md0
+#   script=block-dmmd,lvm;/dev/vg1/lv1;lvm;/dev/vg1/lv2;md;/dev/md0
 #  device pairs (type;dev) are processed in order, with the last device
 #  assigned to the VM
 #
+#  Note - When using the libxl stack, the "script=block-dmmd" option
+#  is required. See man xl-disk-configuration(5) for more information.
+#
 #  md devices can optionally:
 #   specify a config file through:
 #      md;/dev/md100(/var/xen/config/mdadm.conf)
 #   use an array name (mdadm -N option):
-#      dmmd:md;My-MD-name;lvm;/dev/vg1/lv1
+#      md;My-MD-name;lvm;/dev/vg1/lv1
+#
+#  Completely expressive syntax should be similar to:
+#   "format=raw, vdev=xvdb, access=rw, script=block-dmmd, \
+#    target=md;/dev/md0(/etc/mdadm.conf);lvm;/dev/vg1/lv1"
 #
+##
 # History:
+#  2017-06-12, mlati...@suse.com:
+#        Merge LVM improvements by loic.devul...@mpsa.com
+#        Document libxl "script=block-dmmd" syntax in examples
+#        Remove xm/xend references (e.g. parsed_timeout from xend-config.sxp)
 #  2016-05-27, mlati...@suse.com:
 #        Merge improvements by loic.devul...@mpsa.com. Highlights include:
 #            - Re-write and simplification to speed up the script!
@@ -51,6 +63,7 @@
 typeset -rx PVSCAN_BIN=/sbin/pvscan
 typeset -rx VGSCAN_BIN=/sbin/vgscan
 typeset -rx VGCHANGE_BIN=/sbin/vgchange
+typeset -rx CLVMD_BIN=/usr/sbin/clvmd
 typeset -rx DATE_LOG="date +%F_%T.%N"
 typeset -rx DATE_SEC="date +%s"
 
@@ -61,6 +74,21 @@
 # We check for errors ourselves
 set +e
 
+function reload_clvm()
+{
+    # If we are in cluster mode
+    if ps -e | grep -q [c]lvmd 2>/dev/null; then
+        # Logging message
+        log err "Synchronizing cLVM..."
+
+        # Synchronize cLVM
+        ${CLVMD_BIN} -R > /dev/null 2>&1 \
+          || return 1
+    fi
+
+    return 0
+}
+
 function run_mdadm()
 {
     local mdadm_cmd=$1
@@ -118,21 +146,22 @@
 
     # Is MD device already active?
     # We need to use full path name, aliase is not possible...
-    if [ -e $dev_path/${dev##*/} ]; then
-        ${MDADM_BIN} -Q -D $dev_path/${dev##*/} 2>/dev/null \
+    if [ -e ${dev_path}/${dev##*/} ]; then
+        ${MDADM_BIN} -Q -D ${dev_path}/${dev##*/} 2>/dev/null \
           | grep -iq state.*\:.*inactive || return 0
     fi
 
     # Activate MD device
     run_mdadm "-A ${mdadm_opts} ${dev} ${cfg}"
     rc=$?
+
     # A return code of 2 can indicate the array configuration was incorrect
     if [[ ${rc} == 2 ]]; then
         # Logging message
         echo "[$(${DATE_LOG})] verifying MD device ${dev} activation..." >&2
 
         # If the array is active, return 0, otherwise return an error
-        ${MDADM_BIN} -Q -D $dev_path/${dev##*/} &>/dev/null && return 0 \
+        ${MDADM_BIN} -Q -D ${dev_path}/${dev##*/} &>/dev/null && return 0 \
           || return 1
     fi
 
@@ -167,46 +196,52 @@
     return $?
 }
 
-function activate_lvm()
+function lvm_action()
 {
+    local action=$1
+    local dev=$2
     local run_timeout=90
-    local parsed_timeout
     local end_time
 
-    # If /etc/xen/xend-config.sxp exists (e.g. SLES11), use
-    # device-create-timeout, instead of the default setting
-    if [[ -f /etc/xen/xend-config.sxp ]]; then
-        parsed_timeout=$(grep -v  "^[ \t]*#.*" /etc/xen/xend-config.sxp \
-            |sed -n 's/(device-create-timeout \+\([0-9]\+\))/\1/p')
-        if [[ ! -z $parsed_timeout ]]; then
-            run_timeout=$((${parsed_timeout}*9/10))
-        fi
-    fi
-
-    # First scan for PVs and VGs
-    # We need this for using MD device as PV
-    ${PVSCAN_BIN} > /dev/null 2>&1
-#   ${VGSCAN_BIN} --mknodes > /dev/null 2>&1
-
     # Logging message
-    echo "[$(${DATE_LOG})] activate LVM device ${dev}..." >&2
+    echo "[$(${DATE_LOG})] ${action} LVM device ${dev}..." >&2
 
     # Set end_time for the loop
     (( end_time = $(${DATE_SEC}) + run_timeout ))
 
     while true; do
-        ${LVCHANGE_BIN} -aey $1 > /dev/null 2>&1
-
-        if [ $? -eq 0 -a -e $1 ]; then
-            return 0
+        # Action depends of what the user asks
+        if [[ ${action} == activate ]]; then
+            # First scan for PVs and VGs
+            # We need this for using MD device as PV
+            ${PVSCAN_BIN} > /dev/null 2>&1
+
+            ${LVCHANGE_BIN} -aey ${dev} > /dev/null 2>&1 \
+              && [[ -e ${dev} ]]            \
+              && return 0
+        elif [[ ${action} == deactivate ]]; then
+            ${LVCHANGE_BIN} -aen ${dev} > /dev/null 2>&1 \
+              && return 0
+
+            # If the LV is already deactivated we may be in an infinite loop
+            # So we need to test if the LV is still present
+            [[ -e ${dev} ]] || return 0
         fi
 
-        sleep 0.1
+        # It seems that we had a problem during lvchange
+        # If we are in a cluster the problem may be due to a cLVM locking bug,
+        #  so try to reload it
+        reload_clvm
+
         # If it takes too long we need to return an error
         if (( $(${DATE_SEC}) >= end_time )); then
-            log err "Failed to activate $1 within ${run_timeout} seconds"
+            log err "Failed to ${action} $1 within ${run_timeout} seconds"
             return 1
         fi
+
+        # Briefly sleep before restarting the loop
+        sleep 0.1
+
     done
 
     # Normally we should not get here, but if this happens
@@ -214,23 +249,6 @@
     return 1
 }
 
-function deactivate_lvm()
-{
-    # Logging message
-    echo "[$(${DATE_LOG})] deactivate LVM device ${dev}..." >&2
-
-    ${LVCHANGE_BIN} -aen $1 > /dev/null 2>&1
-
-    if [ $? -eq 0 ]; then
-        # We may have to deactivate the VG now, but can ignore errors:
-#       ${VGCHANGE_BIN} -an ${1%/*} || :
-        # Maybe we need to cleanup the LVM cache:
-#       ${VGSCAN_BIN} --mknodes || :
-        return 0
-    fi
-    return 1
-}
-
 # Variables
 typeset command=$1
 typeset BP=100
@@ -265,7 +283,7 @@
             return $?
             ;;
         "lvm")
-            activate_lvm $2
+            lvm_action activate $2
             return $?
             ;;
     esac
@@ -283,7 +301,7 @@
             return $?
             ;;
         "lvm")
-            deactivate_lvm $2
+            lvm_action deactivate $2
             return $?
             ;;
     esac

++++++ gcc7-arm.patch ++++++
Fixes compile time warning -> error
  xc_dom_arm.c: In function 'meminit':
  xc_dom_arm.c:229:31: error: 'domctl.u.address_size.size' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]

--- xen-4.9.0-testing/tools/libxc/xc_dom_arm.c.orig     2017-06-21 
15:17:54.663169127 -0600
+++ xen-4.9.0-testing/tools/libxc/xc_dom_arm.c  2017-06-21 15:18:44.141295411 
-0600
@@ -223,6 +223,7 @@ static int set_mode(xc_interface *xch, d
 
     domctl.domain = domid;
     domctl.cmd    = XEN_DOMCTL_set_address_size;
+    domctl.u.address_size.size = 0;
     for ( i = 0; i < ARRAY_SIZE(types); i++ )
         if ( !strcmp(types[i].guest, guest_type) )
             domctl.u.address_size.size = types[i].size;
++++++ libxl.pvscsi.patch ++++++
--- /var/tmp/diff_new_pack.qXUB07/_old  2017-06-23 09:15:05.522181473 +0200
+++ /var/tmp/diff_new_pack.qXUB07/_new  2017-06-23 09:15:05.522181473 +0200
@@ -38,7 +38,7 @@
 ===================================================================
 --- xen-4.9.0-testing.orig/docs/man/xl.cfg.pod.5.in
 +++ xen-4.9.0-testing/docs/man/xl.cfg.pod.5.in
-@@ -548,6 +548,62 @@ Specify the backend domain name or id, d
+@@ -550,6 +550,62 @@ Specify the backend domain name or id, d
  
  =back
  

++++++ xen-4.9.0-testing-src.tar.bz2 ++++++
++++ 4266 lines of diff (skipped)


Reply via email to