All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xen.org, ian.jackson@eu.citrix.com,
	stefano.stabellini@eu.citrix.com, wei.liu2@citrix.com,
	dgdegra@tycho.nsa.gov
Subject: Re: [PATCH v2 13/13] tools: don't stop xenstore domain when stopping dom0
Date: Wed, 6 Jan 2016 16:33:37 +0000	[thread overview]
Message-ID: <1452098017.21055.114.camel@citrix.com> (raw)
In-Reply-To: <56741DEC.7050809@suse.com>

On Fri, 2015-12-18 at 15:53 +0100, Juergen Gross wrote:
> On 18/12/15 15:42, Andrew Cooper wrote:
> > On 18/12/15 13:14, Juergen Gross wrote:
> > > When restarting or shutting down dom0 the xendomains script tries to
> > > stop all other domains. Don't do this for the xenstore domain, as it
> > > might survive a dom0 reboot in the future.
> > > 
> > > The same applies to xl shutdown --all.
> > > 
> > > Signed-off-by: Juergen Gross <jgross@suse.com>
> > > ---
> > >  tools/hotplug/Linux/xendomains.in | 17 +++++++++++++++++
> > >  tools/libxl/xl_cmdimpl.c          | 19 +++++++++++++++----
> > >  2 files changed, 32 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/tools/hotplug/Linux/xendomains.in
> > > b/tools/hotplug/Linux/xendomains.in
> > > index dfe0b33..70b7f16 100644
> > > --- a/tools/hotplug/Linux/xendomains.in
> > > +++ b/tools/hotplug/Linux/xendomains.in
> > > @@ -196,6 +196,17 @@ rdnames()
> > >      done
> > >  }
> > >  
> > > +# set xenstore domain id (or 0 if no xenstore domain)
> > > +get_xsdomid()
> > 
> > A get/set mismatch.
> 
> Hmm, depends.
> 
> It is getting the domid of the xenstore domain and is setting
> XS_DOMID accordingly. The main semantics are to get the correct
> domid.
> 
> > 
> > > +{
> > > +    ${bindir}/xenstore-exists /tool/xenstored/domid
> > > +    if test $? -ne 0; then
> > > +        XS_DOMID=0
> > > +    else
> > > +        XS_DOMID=`${bindir}/xenstore-read /tool/xenstored/domid`

Please update docs/misc/xenstore-paths.markdown with this.

Did you mean /tools?

Earlier in the series there was a patch which looped over xc_dom_info
looking for the xs domain -- if this is in xenstore can't it use that?

> > > +    fi
> > 
> > This is racy.  Can't you use a failure of xenstore-read as a signal
> > that
> > the key doesn't exist?
> 
> In theory it is racy. OTOH the race would require the xenstore domain to
> be started between the call of xenstore-exists and xenstore-read, but
> xenstore-exists will block in case no xenstore is available. And no, I
> don't have to check that. the whole script will bail out early in this
> case as in the beginning xl is tested to work which will be the case
> with xenstore available only.
> 
> And using xenstore-read alone is ugly as it will barf in case the key
> isn't existing.

XS_DOMID=`${bindir}/xenstore-read /tool/xenstored/domid 2>/dev/null`

seems like it should work:
root@st40:~# xenstore-read /foo 2>/dev/null; echo $?
1
root@st40:~# xenstore-read /local/domain/0/name 2>/dev/null; echo $?
Domain-0
0

> 
> 
> Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2016-01-06 16:33 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-18 13:14 [PATCH v2 00/13] xenstore: make it easier to run xenstore in a domain Juergen Gross
2015-12-18 13:14 ` [PATCH v2 01/13] xen: add xenstore domain flag to hypervisor Juergen Gross
2015-12-18 13:23   ` Andrew Cooper
2016-01-05 15:46   ` Ian Campbell
2016-01-05 15:59     ` Juergen Gross
2015-12-18 13:14 ` [PATCH v2 02/13] libxc: support new xenstore domain flag in libxc Juergen Gross
2016-01-06 15:52   ` Ian Campbell
2016-01-07  6:08     ` Juergen Gross
2016-01-07 10:12       ` Ian Campbell
2015-12-18 13:14 ` [PATCH v2 03/13] libxl: provide a function to retrieve the xenstore domain id Juergen Gross
2015-12-18 13:53   ` Andrew Cooper
2015-12-18 14:10     ` Juergen Gross
2016-01-06 15:59       ` Ian Campbell
2016-01-06 16:38         ` Ian Jackson
2016-01-07  5:37         ` Juergen Gross
2016-01-07 10:11           ` Ian Campbell
2016-01-07 10:44             ` Juergen Gross
2016-01-07 10:55               ` Ian Campbell
2016-01-07 11:21                 ` Juergen Gross
2016-01-07 11:36                   ` Ian Campbell
2016-01-07 13:17                     ` Wei Liu
2016-01-07 12:40           ` Wei Liu
2016-01-07 12:57             ` Juergen Gross
2016-01-07 13:13               ` Wei Liu
2015-12-18 13:14 ` [PATCH v2 04/13] xenstore: move init-xenstore-domain to tools/helpers Juergen Gross
2016-01-06 16:03   ` Ian Campbell
2016-01-07  6:12     ` Juergen Gross
2015-12-18 13:14 ` [PATCH v2 05/13] libxl: move xen-init-dom0 " Juergen Gross
2016-01-06 16:12   ` Ian Campbell
2016-01-07  6:15     ` Juergen Gross
2016-01-07 10:12       ` Ian Campbell
2016-01-06 16:28   ` Ian Campbell
2016-01-07  6:39     ` Juergen Gross
2015-12-18 13:14 ` [PATCH v2 06/13] xenstore: destroy xenstore domain in case of error after creating it Juergen Gross
2015-12-18 13:14 ` [PATCH v2 07/13] xenstore: add error messages to init-xenstore-domain Juergen Gross
2015-12-18 13:14 ` [PATCH v2 08/13] xenstore: modify init-xenstore-domain parameter syntax Juergen Gross
2016-01-06 16:21   ` Ian Campbell
2016-01-07  6:34     ` Juergen Gross
2016-01-07 10:23       ` Ian Campbell
2016-01-07 10:28         ` Juergen Gross
2015-12-18 13:14 ` [PATCH v2 09/13] xenstore: make use of the "xenstore domain" flag Juergen Gross
2016-01-06 16:23   ` Ian Campbell
2016-01-07  6:36     ` Juergen Gross
2015-12-18 13:14 ` [PATCH v2 10/13] xenstore: add init-xenstore-domain parameter to specify cmdline Juergen Gross
2015-12-18 13:14 ` [PATCH v2 11/13] tools: split up xen-init-dom0.c Juergen Gross
2016-01-06 16:26   ` Ian Campbell
2016-01-06 16:33     ` Wei Liu
2016-01-07 10:26       ` Ian Campbell
2015-12-18 13:14 ` [PATCH v2 12/13] xenstore: write xenstore domain data to xenstore Juergen Gross
2016-01-06 16:27   ` Ian Campbell
2015-12-18 13:14 ` [PATCH v2 13/13] tools: don't stop xenstore domain when stopping dom0 Juergen Gross
2015-12-18 14:42   ` Andrew Cooper
2015-12-18 14:53     ` Juergen Gross
2016-01-06 16:33       ` Ian Campbell [this message]
2016-01-07  6:52         ` Juergen Gross
2016-01-07 10:34           ` Ian Campbell
2016-01-07 10:45             ` Juergen Gross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1452098017.21055.114.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dgdegra@tycho.nsa.gov \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jgross@suse.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.