Message ID | 1463066970-39711-2-git-send-email-cardoe@cardoe.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, May 12, 2016 at 10:29:30AM -0500, Doug Goldstein wrote: > xl devd prefers to use /dev/xen/ instead of /proc/xen so the init script > should use the new interface as well and drop the legacy interface. To > check for support this uses /sys/hypervisor which has been present since > 2.6.18 Xen kernels. Fix bad whitespace at the same time. > > Signed-off-by: Doug Goldstein <cardoe@cardoe.com> > --- > tools/hotplug/Linux/init.d/xendriverdomain.in | 19 ++++--------------- > 1 file changed, 4 insertions(+), 15 deletions(-) > > diff --git a/tools/hotplug/Linux/init.d/xendriverdomain.in b/tools/hotplug/Linux/init.d/xendriverdomain.in > index 8d4592a..830aa5b 100644 > --- a/tools/hotplug/Linux/init.d/xendriverdomain.in > +++ b/tools/hotplug/Linux/init.d/xendriverdomain.in > @@ -27,23 +27,12 @@ test -f $xendriverdomain_config/xendriverdomain && . $xendriverdomain_config/xen > XLDEVD_PIDFILE=/var/run/xldevd.pid > > # not running in Xen dom0 or domU > -if ! test -d /proc/xen ; then > +if ! grep -q '^xen' /sys/hypervisor/type ; then > exit 0 > fi > > -# mount xenfs in dom0 or domU with a pv_ops kernel > -if test "x$1" = xstart && \ > - ! test -f /proc/xen/capabilities && \ > - ! grep '^xenfs ' /proc/mounts >/dev/null; > -then > - mount -t xenfs xenfs /proc/xen > -fi This unilaterally remove mounting xenfs. We need to keep mounting it because some applications might use those legacy devices. I do think we need to avoid breaking old stuff, especially when it is not to hard to achieve. > - > # run this script only in domU: > -# no capabilities file in xenlinux domU kernel > -# empty capabilities file in pv_ops domU kernel > -if ! test -f /proc/xen/capabilities || \ > - grep -q "control_d" /proc/xen/capabilities ; then > +if grep -q '00000000-0000-0000-0000-000000000000' /sys/hypervisor/uuid; then Here you're relying on the fact that dom0 uuid is all zeros. I don't think this is documented in Linux, so you can't do it here. > exit 0 > fi > > @@ -52,7 +41,7 @@ do_start () { > ${sbindir}/xl devd --pidfile=$XLDEVD_PIDFILE $XLDEVD_ARGS > } > do_stop () { > - echo Stopping xl devd... > + echo Stopping xl devd... Indentation looks wrong. Should use tab here. > if read 2>/dev/null <$XLDEVD_PIDFILE pid; then > kill $pid > while kill -9 $pid >/dev/null 2>&1; do sleep 1; done > @@ -71,7 +60,7 @@ case "$1" in > echo >&2 'Reload not available; use force-reload'; exit 1 > ;; > force-reload|restart) > - do_stop > + do_stop Ditto. > do_start > ;; > *) > -- > 2.7.4 (Apple Git-66) >
diff --git a/tools/hotplug/Linux/init.d/xendriverdomain.in b/tools/hotplug/Linux/init.d/xendriverdomain.in index 8d4592a..830aa5b 100644 --- a/tools/hotplug/Linux/init.d/xendriverdomain.in +++ b/tools/hotplug/Linux/init.d/xendriverdomain.in @@ -27,23 +27,12 @@ test -f $xendriverdomain_config/xendriverdomain && . $xendriverdomain_config/xen XLDEVD_PIDFILE=/var/run/xldevd.pid # not running in Xen dom0 or domU -if ! test -d /proc/xen ; then +if ! grep -q '^xen' /sys/hypervisor/type ; then exit 0 fi -# mount xenfs in dom0 or domU with a pv_ops kernel -if test "x$1" = xstart && \ - ! test -f /proc/xen/capabilities && \ - ! grep '^xenfs ' /proc/mounts >/dev/null; -then - mount -t xenfs xenfs /proc/xen -fi - # run this script only in domU: -# no capabilities file in xenlinux domU kernel -# empty capabilities file in pv_ops domU kernel -if ! test -f /proc/xen/capabilities || \ - grep -q "control_d" /proc/xen/capabilities ; then +if grep -q '00000000-0000-0000-0000-000000000000' /sys/hypervisor/uuid; then exit 0 fi @@ -52,7 +41,7 @@ do_start () { ${sbindir}/xl devd --pidfile=$XLDEVD_PIDFILE $XLDEVD_ARGS } do_stop () { - echo Stopping xl devd... + echo Stopping xl devd... if read 2>/dev/null <$XLDEVD_PIDFILE pid; then kill $pid while kill -9 $pid >/dev/null 2>&1; do sleep 1; done @@ -71,7 +60,7 @@ case "$1" in echo >&2 'Reload not available; use force-reload'; exit 1 ;; force-reload|restart) - do_stop + do_stop do_start ;; *)
xl devd prefers to use /dev/xen/ instead of /proc/xen so the init script should use the new interface as well and drop the legacy interface. To check for support this uses /sys/hypervisor which has been present since 2.6.18 Xen kernels. Fix bad whitespace at the same time. Signed-off-by: Doug Goldstein <cardoe@cardoe.com> --- tools/hotplug/Linux/init.d/xendriverdomain.in | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-)