[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.7 2/2] tools/xendomains: Create lockfile on start unconditionally
On 11/05/16 12:14, George Dunlap wrote: > At the moment, the xendomains init script will only create a lockfile > if when started, it actually does something -- either tries to restore > a previously saved domain as a result of XENDOMAINS_RESTORE, or tries > to create a domain as a result of XENDOMAINS_AUTO. > > RedHat-based SYSV init systems try to only call "${SERVICE} shutdown" > on systems which actually have an actively running component; and they > use the existence of /var/lock/subsys/${SERVICE} to determine which > systems are running. > > This means that at the moment, on RedHat-based SYSV systems (such as > CentOS 6), if you enable xendomains, and have XENDOMAINS_RESTORE set > to "true", but don't happen to start a VM, then your running VMs will > not be suspended on shutdown. > > Since the lockfile doesn't really have any other effect than to > prevent duplicate starting, just create it unconditionally every time > we start the xendomains script. > > The other option would have been to touch the lockfile if > XENDOMAINS_RESTORE was true regardless of whether there were any > domains to be restored. But this would mean that if you started with > the xendomains script active but XENDOMAINS_RESTORE set to "false", > and then changed it to "true", then xendomains would still not run the > next time you shut down. This seems to me to violate the principle of > least surprise. > > Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxx> > --- > CC: Ian Jackson <ian.jackson@xxxxxxxxxx> > CC: Wei Liu <wei.liu2@xxxxxxxxxx> > CC: Olaf Hering <olaf@xxxxxxxxx> Forgot the release justification. This is a bug in xendomains under RHEL sysv init systems -- albeit one that's been there from the beginning. Creating the lockfile unconditionally shouldn't cause any problems as far as I can tell. -George > --- > tools/hotplug/Linux/xendomains.in | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tools/hotplug/Linux/xendomains.in > b/tools/hotplug/Linux/xendomains.in > index 727cd42..334d244 100644 > --- a/tools/hotplug/Linux/xendomains.in > +++ b/tools/hotplug/Linux/xendomains.in > @@ -255,12 +255,13 @@ start() > return; > fi > > + mkdir -p $(dirname "$LOCKFILE") > + touch $LOCKFILE > + > saved_domains=" " > if [ "$XENDOMAINS_RESTORE" = "true" ] && > contains_something "$XENDOMAINS_SAVE" > then > - mkdir -p $(dirname "$LOCKFILE") > - touch $LOCKFILE > echo -n "Restoring Xen domains:" > saved_domains=`ls $XENDOMAINS_SAVE` > for dom in $XENDOMAINS_SAVE/*; do > @@ -286,7 +287,6 @@ start() > > if contains_something "$XENDOMAINS_AUTO" > then > - touch $LOCKFILE > echo -n "Starting auto Xen domains:" > # We expect config scripts for auto starting domains to be in > # XENDOMAINS_AUTO - they could just be symlinks to files elsewhere > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |