WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] fix for bug#515

To: ewan@xxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] fix for bug#515
From: Harry Butterworth <harry@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 24 Mar 2006 13:05:24 +0000
Delivery-date: Fri, 24 Mar 2006 13:06:10 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User harry@xxxxxxxxxxxxxxxxxxxxx
# Node ID 78704d769fb2f758bc9c05b0911081375fae018d
# Parent  8c21c8ea5fff320d1cc4abd18d11c648cdca322e
Fix bug 515 by adding a global lock around the hotplug scripts in the
non-udev hotplug case only.

There are two possible root causes for 515, both of which are only
problems in the non-udev hotplug case because udev uses udevsend which
already implements the required serialisation.

1) Script concurrency.
2) Kernel reordering hotplug events.

This changeset fixes (1) but not (2).  Since (1) is the problem that
seems to be happening this is probably OK.

A fix for (2) for the hotplug case might be to add extra serialisation
using state changes in the store but this would impact all the drivers
and the code and extra complexity would be redundant once everyone had
moved to udev.  This doesn't seem worthwhile unless we actually start to
see (2) happening.

diff -r 8c21c8ea5fff -r 78704d769fb2 tools/examples/xen-backend.agent
--- a/tools/examples/xen-backend.agent  Fri Mar 24 09:47:48 2006
+++ b/tools/examples/xen-backend.agent  Fri Mar 24 12:58:04 2006
@@ -1,6 +1,10 @@
 #! /bin/sh
 
 PATH=/etc/xen/scripts:$PATH
+
+. /etc/xen/scripts/locking.sh
+
+claim_lock xenbus_hotplug_global
 
 case "$XENBUS_TYPE" in
   vbd)
@@ -25,3 +29,5 @@
   offline)
     ;;
 esac
+
+release_lock xenbus_hotplug_global

Signed-off-by: Harry Butterworth <butterwo@xxxxxxxxxx>

Attachment: 515.patch
Description: Text Data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>