]> git.pld-linux.org Git - packages/xen.git/commitdiff
Another scripts locking patch, from upstream
authorJacek Konieczny <jajcus@jajcus.net>
Sat, 17 Nov 2012 11:52:45 +0000 (12:52 +0100)
committerJacek Konieczny <jajcus@jajcus.net>
Sat, 17 Nov 2012 13:34:07 +0000 (14:34 +0100)
http://xenbits.xen.org/hg/staging/xen-unstable.hg/rev/b3b03536789a

Fixes starting VMs with more than one bridged interface

xen-close_lockfd_after_lock_attempt.patch [new file with mode: 0644]
xen.spec

diff --git a/xen-close_lockfd_after_lock_attempt.patch b/xen-close_lockfd_after_lock_attempt.patch
new file mode 100644 (file)
index 0000000..9295636
--- /dev/null
@@ -0,0 +1,37 @@
+
+# HG changeset patch
+# User Olaf Hering <olaf@aepfle.de>
+# Date 1350549301 -3600
+# Node ID b3b03536789abbf2c4b7d62377034c1f14c6340c
+# Parent  019ca95dfa34efc71b1707f785b5112573e7d02e
+hotplug/Linux: close lockfd after lock attempt
+
+When a HVM guest is shutdown some of the 'remove' events can not claim
+the lock for some reason. Instead they try to grab the lock in a busy
+loop, until udev reaps the xen-hotplug-cleanup helper.
+After analyzing the resulting logfile its not obvious what the cause is.
+The only explanation is that bash (?) gets confused if the same lockfd
+is opened again and again. Closing it in each iteration seem to fix the
+issue.
+
+This was observed with sles11sp2 (bash 3.2) and 4.2 xend.
+
+Signed-off-by: Olaf Hering <olaf@aepfle.de>
+Acked-by: Ian Campbell <Ian.campbell@citrix.com>
+[ ijc -- added the comment ]
+Committed-by: Ian Campbell <ian.campbell@citrix.com>
+
+diff -r 019ca95dfa34 -r b3b03536789a tools/hotplug/Linux/locking.sh
+--- a/tools/hotplug/Linux/locking.sh   Thu Oct 18 09:35:00 2012 +0100
++++ b/tools/hotplug/Linux/locking.sh   Thu Oct 18 09:35:01 2012 +0100
+@@ -59,6 +59,9 @@ claim_lock()
+             print "y\n" if $fd_inum eq $file_inum;
+                              ' "$_lockfile" )
+         if [ x$rightfile = xy ]; then break; fi
++      # Some versions of bash appear to be buggy if the same
++      # $_lockfile is opened repeatedly. Close the current fd here.
++        eval "exec $_lockfd<&-"
+     done
+ }
+
index 7cc0a647f55825fef6490abb2e5f18fbd464e7d9..6d90d0d081d4f13073b10c436af51db0357951f8 100644 (file)
--- a/xen.spec
+++ b/xen.spec
@@ -87,6 +87,7 @@ Patch9:               xen-initscript.patch
 Patch10:       xen-quemu-softloat-c99.patch
 Patch11:       xen-qemu.patch
 Patch12:       xen-scripts-locking.patch
+Patch13:       xen-close_lockfd_after_lock_attempt.patch
 URL:           http://www.xen.org/products/xenhyp.html
 %{?with_opengl:BuildRequires:  OpenGL-devel}
 %{?with_sdl:BuildRequires:     SDL-devel >= 1.2.1}
@@ -372,6 +373,7 @@ Nadzorca Xen w postaci, która może być uruchomiona wprost z firmware
 %patch10 -p1
 %patch11 -p1
 %patch12 -p1
+%patch13 -p1
 
 # stubdom sources
 ln -s %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} stubdom
This page took 0.189198 seconds and 4 git commands to generate.