Commit c996572 changed the LOCKFILE path from a check between two hardcoded paths (/var/lock/subsys/ or /var/lock) to using the XEN_LOCK_DIR variable designated at configure time. Since XEN_LOCK_DIR doesn't (and shouldn't) have the 'subsys' postfix, this effectively moves all the lock files by default to /var/lock instead.
Unfortunately, this breaks xendomains on RedHat-based SYSV init systems. 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. Changing XEN_LOCK_DIR to /var/lock/subsys is not suitable, as only system services like xendomains should create lockfiles there; other locks (such as the console locks) should be created in /var/lock instead. Instead, re-instate the check for the subsys/ subdirectory of the lock directory in the xendomains script. Signed-off-by: George Dunlap <george.dun...@citrix.com> --- Release justification: This is a regression in functionality (although it's been there for the entire 4.6 cycle now). CC: Ian Jackson <ian.jack...@citrix.com> CC: Wei Liu <wei.l...@citrix.com> CC: Olaf Hering <o...@aepfle.de> --- tools/hotplug/Linux/xendomains.in | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/hotplug/Linux/xendomains.in b/tools/hotplug/Linux/xendomains.in index 9f88649..727cd42 100644 --- a/tools/hotplug/Linux/xendomains.in +++ b/tools/hotplug/Linux/xendomains.in @@ -49,7 +49,13 @@ if [ ! -e /dev/xen/privcmd ] && [ ! -e /proc/xen/privcmd ]; then exit 0 fi -LOCKFILE=${XEN_LOCK_DIR}/xendomains +# RHEL-based systems only shutdown a service if they find a lockfile +# in /var/lock/subsys +if [[ -d ${XEN_LOCK_DIR}/subsys ]] ; then + LOCKFILE=${XEN_LOCK_DIR}/subsys/xendomains +else + LOCKFILE=${XEN_LOCK_DIR}/xendomains +fi XENDOM_CONFIG=@CONFIG_DIR@/@CONFIG_LEAF_DIR@/xendomains -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel