WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] libxl: do not use tap disk backend other

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] libxl: do not use tap disk backend other than for raw and vhd
From: Xen patchbot-unstable <patchbot@xxxxxxx>
Date: Sun, 10 Jul 2011 08:44:17 +0100
Delivery-date: Sun, 10 Jul 2011 00:46:43 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
# Date 1310146524 -3600
# Node ID 00d2c5ca26fd40f55f4255ac883ad882a5207cc8
# Parent  443c6a7b6079f490d9adbb46352c20c2628fb144
libxl: do not use tap disk backend other than for raw and vhd

tap does not support qcow/qcow2; update disk_try_backend accordingly.

Break out the "backend not suitable for this format" message so it can
be reused.  Remove now-redundant reporting from
libxl_device_disk_local_attach and replace with abort().

Reported-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---


diff -r 443c6a7b6079 -r 00d2c5ca26fd tools/libxl/libxl.c
--- a/tools/libxl/libxl.c       Fri Jul 08 18:12:26 2011 +0100
+++ b/tools/libxl/libxl.c       Fri Jul 08 18:35:24 2011 +0100
@@ -1089,9 +1089,7 @@
                 break;
             case LIBXL_DISK_FORMAT_QCOW:
             case LIBXL_DISK_FORMAT_QCOW2:
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "cannot locally attach"
-                           " a qcow or qcow2 disk image");
-                break;
+                abort(); /* prevented by libxl__device_disk_set_backend */
             default:
                 LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
                            "unrecognized disk format: %d", disk->format);
diff -r 443c6a7b6079 -r 00d2c5ca26fd tools/libxl/libxl_device.c
--- a/tools/libxl/libxl_device.c        Fri Jul 08 18:12:26 2011 +0100
+++ b/tools/libxl/libxl_device.c        Fri Jul 08 18:35:24 2011 +0100
@@ -134,11 +134,7 @@
     case LIBXL_DISK_BACKEND_PHY:
         if (!(a->disk->format == LIBXL_DISK_FORMAT_RAW ||
               a->disk->format == LIBXL_DISK_FORMAT_EMPTY)) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, backend phy"
-                       " unsuitable due to format %s",
-                       a->disk->vdev,
-                       libxl_disk_format_to_string(a->disk->format));
-            return 0;
+            goto bad_format;
         }
         if (a->disk->format != LIBXL_DISK_FORMAT_EMPTY &&
             !S_ISBLK(a->stab.st_mode)) {
@@ -157,12 +153,9 @@
                        a->disk->vdev);
             return 0;
         }
-        if (a->disk->format == LIBXL_DISK_FORMAT_EMPTY ||
-            (S_ISREG(a->stab.st_mode) && !a->stab.st_size)) {
-            LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, backend tap"
-                       " unsuitable because empty devices not supported",
-                       a->disk->vdev);
-            return 0;
+        if (!(a->disk->format == LIBXL_DISK_FORMAT_RAW ||
+              a->disk->format == LIBXL_DISK_FORMAT_VHD)) {
+            goto bad_format;
         }
         return backend;
 
@@ -175,6 +168,15 @@
         return 0;
         
     }
+    abort(); /* notreached */
+
+ bad_format:
+    LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Disk vdev=%s, backend %s"
+               " unsuitable due to format %s",
+               a->disk->vdev,
+               libxl_disk_backend_to_string(backend),
+               libxl_disk_format_to_string(a->disk->format));
+    return 0;
 }            
 
 int libxl__device_disk_set_backend(libxl__gc *gc, libxl_device_disk *disk) {

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] libxl: do not use tap disk backend other than for raw and vhd, Xen patchbot-unstable <=