[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel]qcow can not boot under pvops-dom0
On Tue, Jul 21, 2009 at 12:33 PM, Zhang, Yang<yang.zhang@xxxxxxxxx> wrote: > For hvm guest, there don't have a block FE. So it still need report the > hotpulg-status by > blktap script which is removed by 19349 Could you confirm that with this patch, you can start HVM? Currently I also have some problems with -unstable and -testing code, in which it fails to start a HVM, with error report about hotplug error something ... Thanks, J > > Best Regards > --yang > > diff -r 8ee92b9f890f tools/hotplug/Linux/Makefile > --- a/tools/hotplug/Linux/Makefile Fri Jul 10 18:12:13 2009 +0100 > +++ b/tools/hotplug/Linux/Makefile Mon Jul 20 19:22:18 2009 -0400 > @@ -12,6 +12,7 @@ XEN_SCRIPTS += network-nat vif-nat > XEN_SCRIPTS += network-nat vif-nat > XEN_SCRIPTS += block > XEN_SCRIPTS += block-enbd block-nbd > +XEN_SCRIPTS += blktap > XEN_SCRIPTS += vtpm vtpm-delete > XEN_SCRIPTS += xen-hotplug-cleanup > XEN_SCRIPTS += external-device-migrate > diff -r 8ee92b9f890f tools/hotplug/Linux/xen-backend.rules > --- a/tools/hotplug/Linux/xen-backend.rules Fri Jul 10 18:12:13 2009 +0100 > +++ b/tools/hotplug/Linux/xen-backend.rules Mon Jul 20 19:22:18 2009 -0400 > @@ -1,3 +1,4 @@ SUBSYSTEM=="xen-backend", KERNEL=="vbd*" > +SUBSYSTEM=="xen-backend", KERNEL=="tap*", RUN+="/etc/xen/scripts/blktap > $env{ACTION}" > SUBSYSTEM=="xen-backend", KERNEL=="vbd*", RUN+="/etc/xen/scripts/block > $env{ACTION}" > SUBSYSTEM=="xen-backend", KERNEL=="vtpm*", RUN+="/etc/xen/scripts/vtpm > $env{ACTION}" > SUBSYSTEM=="xen-backend", KERNEL=="vif*", ACTION=="online", > RUN+="$env{script} online" > diff -r 8ee92b9f890f tools/hotplug/Linux/blktap > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/tools/hotplug/Linux/blktap Mon Jul 20 19:22:18 2009 -0400 > @@ -0,0 +1,93 @@ > +#!/bin/bash > + > +# Copyright (c) 2005, XenSource Ltd. > + > +dir=$(dirname "$0") > +. "$dir/xen-hotplug-common.sh" > +. "$dir/block-common.sh" > + > +findCommand "$@" > + > +## > +# check_blktap_sharing file mode > +# > +# Perform the sharing check for the given blktap and mode. > +# > +check_blktap_sharing() > +{ > + local file="$1" > + local mode="$2" > + > + local base_path="$XENBUS_BASE_PATH/$XENBUS_TYPE" > + for dom in $(xenstore-list "$base_path") > + do > + for dev in $(xenstore-list "$base_path/$dom") > + do > + params=$(xenstore_read "$base_path/$dom/$dev/params" | cut -d: > -f2) > + if [ "$file" = "$params" ] > + then > + > + if [ "$mode" = 'w' ] > + then > + if ! same_vm "$dom" > + then > + echo 'guest' > + return > + fi > + else > + local m=$(xenstore_read "$base_path/$dom/$dev/mode") > + m=$(canonicalise_mode "$m") > + > + if [ "$m" = 'w' ] > + then > + if ! same_vm "$dom" > + then > + echo 'guest' > + return > + fi > + fi > + fi > + fi > + done > + done > + > + echo 'ok' > +} > + > + > +t=$(xenstore_read_default "$XENBUS_PATH/type" 'MISSING') > +if [ -n "$t" ] > +then > + p=$(xenstore_read "$XENBUS_PATH/params") > + # if we have a ':', chew from head including : > + if echo $p | grep -q \: > + then > + p=${p#*:} > + fi > +fi > +# some versions of readlink cannot be passed a regular file > +if [ -L "$p" ]; then > + file=$(readlink -f "$p") || fatal "$p link does not exist." > +else > + file="$p" > +fi > + > +if [ "$command" = 'add' ] > +then > + [ -e "$file" ] || { fatal $file does not exist; } > + > + FRONTEND_ID=$(xenstore_read "$XENBUS_PATH/frontend-id") > + FRONTEND_UUID=$(xenstore_read "/local/domain/$FRONTEND_ID/vm") > + mode=$(xenstore_read "$XENBUS_PATH/mode") > + mode=$(canonicalise_mode "$mode") > + > + if [ "$mode" != '!' ] > + then > + result=$(check_blktap_sharing "$file" "$mode") > + [ "$result" = 'ok' ] || ebusy "$file already in use by other domain" > + fi > + > + success > +fi > + > +exit 0 > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |