[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel]qcow can not boot under pvops-dom0



Jun Koi wrote:
> 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
> 
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@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.