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 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@lists.xensource.com http://lists.xensource.com/xen-devel
On Tue, Jul 21, 2009 at 12:33 PM, Zhang, Yang<yang.zhang@intel.com> 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 19349Could 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@lists.xensource.com > http://lists.xensource.com/xen-devel > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jun Koi wrote:> On Tue, Jul 21, 2009 at 12:33 PM, Zhang, Yang<yang.zhang@intel.com> > 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 >sure, It pass in c/s 19921. Best Regards --yang>> >> 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@lists.xensource.com >> http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 21/07/2009 04:42, "Zhang, Yang" <yang.zhang@intel.com> wrote:> Jun Koi wrote: >> On Tue, Jul 21, 2009 at 12:33 PM, Zhang, Yang<yang.zhang@intel.com> >> 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 >> > sure, It pass in c/s 19921.I also backported to 3.4 branch. Is that the right thing to do? -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser wrote:> On 21/07/2009 04:42, "Zhang, Yang" <yang.zhang@intel.com> wrote: > >> Jun Koi wrote: >>> On Tue, Jul 21, 2009 at 12:33 PM, Zhang, Yang<yang.zhang@intel.com> >>> 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 >>> >> sure, It pass in c/s 19921. > > I also backported to 3.4 branch. Is that the right thing to do? > > -- Keiri think it will be fine. Best Regards --yang _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel