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

Re: [Xen-devel] [PATCH] libxl, hotplug/Linux: default to phy backend for raw format file



Ping?

On Thu, Sep 05, 2013 at 03:11:31PM +0100, Wei Liu wrote:
> Modify libxl to allow raw format file to use phy backend.
> 
> For the hotplug script part, learn from NetBSD's block hotplug script --
> test the path and determine the actual type of file (block device or
> regular file) then use the actual type to determine which branch to run.
> 
> With these changes, plus the current ordering of backend preference
> (phy > qdisk > tap), we will use phy backend for raw format file by
> default.
> 
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> ---
>  tools/hotplug/Linux/block |   16 +++++++++-------
>  tools/libxl/libxl_linux.c |    6 +++---
>  2 files changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/tools/hotplug/Linux/block b/tools/hotplug/Linux/block
> index da26e22..8d2ee9d 100644
> --- a/tools/hotplug/Linux/block
> +++ b/tools/hotplug/Linux/block
> @@ -206,6 +206,13 @@ and so cannot be mounted ${m2}${when}."
>  
>  
>  t=$(xenstore_read_default "$XENBUS_PATH/type" 'MISSING')
> +p=$(xenstore_read "$XENBUS_PATH/params")
> +mode=$(xenstore_read "$XENBUS_PATH/mode")
> +if [ -b "$p" ]; then
> +    truetype="phy"
> +elif [ -f "$p" ]; then
> +    truetype="file"
> +fi
>  
>  case "$command" in
>    add)
> @@ -217,16 +224,11 @@ case "$command" in
>        exit 0
>      fi
>  
> -    if [ -n "$t" ]
> -    then
> -      p=$(xenstore_read "$XENBUS_PATH/params")
> -      mode=$(xenstore_read "$XENBUS_PATH/mode")
> -    fi
>      FRONTEND_ID=$(xenstore_read "$XENBUS_PATH/frontend-id")
>      FRONTEND_UUID=$(xenstore_read_default \
>              "/local/domain/$FRONTEND_ID/vm" 'unknown')
>  
> -    case $t in 
> +    case $truetype in
>        phy)
>          dev=$(expand_dev $p)
>  
> @@ -319,7 +321,7 @@ mount it read-write in a guest domain."
>      ;;
>  
>    remove)
> -    case $t in 
> +    case $truetype in
>        phy)
>       exit 0
>       ;;
> diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c
> index 37815eb..3cfa6da 100644
> --- a/tools/libxl/libxl_linux.c
> +++ b/tools/libxl/libxl_linux.c
> @@ -19,11 +19,11 @@
>   
>  int libxl__try_phy_backend(mode_t st_mode)
>  {
> -    if (!S_ISBLK(st_mode)) {
> -        return 0;
> +    if (S_ISBLK(st_mode) || S_ISREG(st_mode)) {
> +        return 1;
>      }
>  
> -    return 1;
> +    return 0;
>  }
>  
>  #define EXT_SHIFT 28
> -- 
> 1.7.10.4

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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