[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 4/4] tools: make xenstore domain easy configurable
On 25/07/16 15:43, Wei Liu wrote: > On Fri, Jul 22, 2016 at 05:09:31PM +0200, Juergen Gross wrote: > [...] >> diff --git a/tools/hotplug/Linux/launch-xenstore.in >> b/tools/hotplug/Linux/launch-xenstore.in >> index 2bd9f64..fdfa33a 100644 >> --- a/tools/hotplug/Linux/launch-xenstore.in >> +++ b/tools/hotplug/Linux/launch-xenstore.in >> @@ -48,18 +48,40 @@ test_xenstore && exit 0 >> >> test -f @CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons && . >> @CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons >> >> -test -z "$XENSTORED_ROOTDIR" && XENSTORED_ROOTDIR="@XEN_LIB_STORED@" >> -rm -f "$XENSTORED_ROOTDIR"/tdb* 2>/dev/null >> -test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T >> @XEN_LOG_DIR@/xenstored-trace.log" >> +[ "$XENSTORETYPE" = "" ] && XENSTORETYPE=daemon >> + >> +/bin/mkdir -p @XEN_RUN_DIR@ >> + >> +[ "$XENSTORETYPE" = "daemon" ] && { >> + [ -z "$XENSTORED_ROOTDIR" ] && XENSTORED_ROOTDIR="@XEN_LIB_STORED@" >> + /bin/rm -f $XENSTORED_ROOTDIR/tdb* 2>/dev/null >> + [ -z "$XENSTORED_TRACE" ] || XENSTORED_ARGS="$XENSTORED_ARGS -T >> @XEN_LOG_DIR@/xenstored-trace.log" >> + [ -z "$XENSTORED" ] && XENSTORED=@XENSTORED@ >> + [ -x "$XENSTORED" ] || { >> + echo "No xenstored found" >> + exit 1 >> + } >> >> -if [ -n "$XENSTORED" ] ; then >> echo -n Starting $XENSTORED... >> $XENSTORED --pid-file @XEN_RUN_DIR@/xenstored.pid $XENSTORED_ARGS >> -else >> - echo "No xenstored found" >> - exit 1 >> -fi >> >> -timeout_xenstore $XENSTORED || exit 1 >> + systemd-notify --booted 2>/dev/null || timeout_xenstore $XENSTORED || >> exit 1 >> >> -exit 0 >> + exit 0 >> +} >> + >> +[ "$XENSTORETYPE" = "domain" ] && { >> + [ -z "$XENSTORE_DOMAIN_KERNEL" ] && >> XENSTORE_DOMAIN_KERNEL=@LIBEXEC@/boot/xenstore-stubdom.gz >> + XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --kernel >> $XENSTORE_DOMAIN_KERNEL" >> + [ -z "$XENSTORE_DOMAIN_SIZE" ] && XENSTORE_DOMAIN_SIZE=8 >> + XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --memory >> $XENSTORE_DOMAIN_SIZE" >> + >> + echo -n Starting $XENSTORE_DOMAIN_KERNEL... >> + ${LIBEXEC_BIN}/init-xenstore-domain $XENSTORE_DOMAIN_ARGS || exit 1 >> + systemd-notify --ready 2>/dev/null > > Please test if there is systemd-notify before trying to invoke it and > then you can properly log the failure of the invocation. I thought about that. What would be the purpose doing so? Following cases are possible: - system has no systemd installed: systemd-notify will fail, but calling it was not necessary -> no harm done - system is with systemd, but not booted under control of it, and systemd-notify is not found: same as above -> no harm done - system is with systemd, but not booted under control of it, and systemd-notify is found: calling systemd-notify isn't really needed, but it won't harm - system is booted under control of systemd, systemd-notify is not found: I could log it, but I can't know that I'm under control of systemd (standard way to tell from a script is calling "systemd-notify --booted" which is kind of chicken and egg problem here) so I can't know whether not finding systemd-notify is an error or not - system is booted under control of systemd, systemd-notify is found: everything is nice, systemd receives the notification it is waiting for Juergen _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |