diff options
author | Roger Pau Monne <roger.pau@citrix.com> | 2013-05-03 13:23:01 +0200 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-05-08 12:06:41 +0100 |
commit | 846bd69104e5d62f29b7282419827e52e99f3efd (patch) | |
tree | 8cab8b290349008c6052ac4c0fd86bb5d2a308d4 /tools/libxl | |
parent | dd4409a8e9cf56d1d0bb30b25483df31aee9336e (diff) | |
download | xen-846bd69104e5d62f29b7282419827e52e99f3efd.tar.gz xen-846bd69104e5d62f29b7282419827e52e99f3efd.tar.bz2 xen-846bd69104e5d62f29b7282419827e52e99f3efd.zip |
libxl: correctly parse storage devices on driver domains
Don't try to check physical devices if they belong to a domain
different than the one where the toolstack is running. This prevents
the following error when trying to use storage driver domains:
libxl: debug: libxl_create.c:1246:do_domain_create: ao 0x1819240: create: how=(nil) callback=(nil) poller=0x1818fa0
libxl: debug: libxl_device.c:235:libxl__device_disk_set_backend: Disk vdev=xvda spec.backend=phy
libxl: debug: libxl_device.c:175:disk_try_backend: Disk vdev=xvda, backend phy unsuitable as phys path not a block device
libxl: error: libxl_device.c:278:libxl__device_disk_set_backend: no suitable backend for disk xvda
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxl')
-rw-r--r-- | tools/libxl/libxl_device.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c index a5cf446a24..b1fc4efe03 100644 --- a/tools/libxl/libxl_device.c +++ b/tools/libxl/libxl_device.c @@ -161,6 +161,12 @@ static int disk_try_backend(disk_try_backend_args *a, goto bad_format; } + if (a->disk->backend_domid != LIBXL_TOOLSTACK_DOMID) { + LOG(DEBUG, "Disk vdev=%s, is using a storage driver domain, " + "skipping physical device check", a->disk->vdev); + return backend; + } + if (a->disk->script) { LOG(DEBUG, "Disk vdev=%s, uses script=... assuming phy backend", a->disk->vdev); |