[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libxl: add support for booting PV domains from NetBSD using raw files as disks. Fixed the shutdown race problem by checking "hotplug-status" instead of "state" xenstore variable in NetBSD
On Thu, 2011-09-15 at 09:03 -0400, Roger Pau Monne wrote: > # HG changeset patch > # User Roger Pau Monne <roger.pau@xxxxxxxxxxxxx> > # Date 1316091721 -7200 > # Node ID 015617579cd36fc58318aaf350bec5f7cc07ef2f > # Parent 63e254468d6e8d81baeafaed68f05791dc21eb4e > libxl: add support for booting PV domains from NetBSD using raw files > as disks. Fixed the shutdown race problem by checking "hotplug-status" > instead of "state" xenstore variable in NetBSD. This was one long line which mercurial will use as a summary, it's a good idea to make sure that the first line stands somewhat alone as a summary so the e.g. "hg log" is useful. Also this sounds on the face of it like two bugfixes, if that's the case they should be submitted separately. > > Signed-off-by: Roger Pau Monne <roger.pau@xxxxxxxxxxxxx> > > diff -r 63e254468d6e -r 015617579cd3 tools/hotplug/NetBSD/block > --- a/tools/hotplug/NetBSD/block Wed Sep 14 14:18:40 2011 +0200 > +++ b/tools/hotplug/NetBSD/block Thu Sep 15 15:02:01 2011 +0200 > @@ -19,7 +19,7 @@ error() { > > xpath=$1 > xstatus=$2 > -xtype=$(xenstore-read "$xpath/type") > +xtype=$3 > xparams=$(xenstore-read "$xpath/params") > > case $xstatus in > @@ -38,6 +38,8 @@ 6) > echo "unknown type $xtype" >&2 > ;; > esac > + echo xenstore-write $xpath/hotplug-status disconnected leftover debugging? > + xenstore-write $xpath/hotplug-status disconnected > xenstore-rm $xpath > exit 0 > ;; > libxl_ctx *ctx = libxl__gc_owner(gc); > xs_transaction_t t; > char *state_path = libxl__sprintf(gc, "%s/state", be_path); > + char *hotplug_path = libxl__sprintf(gc, "%s/hotplug-status", be_path); > char *state = libxl__xs_read(gc, XBT_NULL, state_path); > + char *hotplug = libxl__xs_read(gc, XBT_NULL, hotplug_path); > int rc = 0; > > if (!state) > goto out; > + > +#ifdef HAVE_PHY_BACKEND_FILE_SUPPORT > + if (!strstr(be_path, "vbd")) { > + if (atoi(state) != 4) { > + xs_rm(ctx->xsh, XBT_NULL, be_path); > + goto out; > + } > + } else { > + if (!hotplug) > + goto out; > + if (!strcmp(hotplug, "disconnected")) { > + xs_rm(ctx->xsh, XBT_NULL, be_path); > + goto out; > + } > + } Do the other backend types also write this node? It looks like Linux does, at least in some circumstances (tap and vbd AFAICT), in which case perhaps this is suitable as the only test here (i.e. drop the #ifdef and the #else case). That would remove a lot of the conditional code in this patch. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |