|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 4 of 4 v2] blktap3/libxl: pygrub support for RAW and VHD images
This patch allows guests to boot from RAW and VHD images using pygrub.
Signed-off-by: Thanos Makatos <thanos.makatos@xxxxxxxxxx>
diff --git a/tools/blktap3/drivers/tapdisk-control.c
b/tools/blktap3/drivers/tapdisk-control.c
--- a/tools/blktap3/drivers/tapdisk-control.c
+++ b/tools/blktap3/drivers/tapdisk-control.c
@@ -910,7 +910,7 @@ tapdisk_control_xenblkif_connect(
assert(request);
assert(response);
- len = strnlen(request->u.string.text, TAPDISK_MESSAGE_STRING_LENGTH);
+ len = strnlen(request->u.blkif.params, TAPDISK_MESSAGE_STRING_LENGTH);
/* TODO boilerplate */
if (len < 1) {
err = -EINVAL;
diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -2636,6 +2636,7 @@ void libxl__device_disk_local_initiate_a
}
break;
case LIBXL_DISK_BACKEND_QDISK:
+ case LIBXL_DISK_BACKEND_TAP3:
if (disk->format != LIBXL_DISK_FORMAT_RAW) {
libxl__prepare_ao_device(ao, &dls->aodev);
dls->aodev.callback = local_device_attach_cb;
@@ -2728,6 +2729,7 @@ void libxl__device_disk_local_initiate_d
switch (disk->backend) {
case LIBXL_DISK_BACKEND_QDISK:
+ case LIBXL_DISK_BACKEND_TAP3:
if (disk->vdev != NULL) {
GCNEW(device);
rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID,
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
--- a/tools/libxl/libxl_device.c
+++ b/tools/libxl/libxl_device.c
@@ -753,8 +753,8 @@ void libxl__wait_device_connection(libxl
*/
device_hotplug(egc, aodev);
return;
- }
-
+ } else if (aodev->dev->backend_kind == LIBXL__DEVICE_KIND_VBD3)
+ goto out;
rc = libxl__ev_devstate_wait(gc, &aodev->backend_ds,
device_backend_callback,
state_path, XenbusStateInitWait,
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |