abf8af324b
- Include systemd presets in 13.2 and older - bnc#897352 - Enable xencommons/xendomains only during fresh install - disable restart on upgrade because the toolstack is not restartable - adjust seabios, vgabios, stubdom and hvmloader build to reduce build-compare noise xen.build-compare.mini-os.patch xen.build-compare.smbiosdate.patch xen.build-compare.ipxe.patch xen.build-compare.vgabios.patch xen.build-compare.seabios.patch xen.build-compare.man.patch - Update to Xen 4.5.0 RC4 - Remove xend specific if-up scripts Recording bridge slaves is a generic task which should be handled by generic network code - Use systemd features from upstream requires updated systemd-presets-branding package - Update to Xen 4.5.0 RC3 - Set GIT, WGET and FTP to /bin/false - Use new configure features instead of make variables OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=337
59 lines
2.3 KiB
Diff
59 lines
2.3 KiB
Diff
commit 3bcf91cbbd9a18db9ae7d594ffde7979774ed512
|
|
Author: Roger Pau Monne <roger.pau@xxxxxxxxxx>
|
|
Date: Wed Feb 12 11:15:17 2014 +0100
|
|
|
|
libxl: local attach support for PHY backends using scripts
|
|
|
|
Allow disks using the PHY backend to locally attach if using a script.
|
|
|
|
Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx>
|
|
Suggested-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
|
|
|
|
|
|
Index: xen-4.5.0-testing/tools/libxl/libxl.c
|
|
===================================================================
|
|
--- xen-4.5.0-testing.orig/tools/libxl/libxl.c
|
|
+++ xen-4.5.0-testing/tools/libxl/libxl.c
|
|
@@ -3006,6 +3006,16 @@ void libxl__device_disk_local_initiate_a
|
|
|
|
switch (disk->backend) {
|
|
case LIBXL_DISK_BACKEND_PHY:
|
|
+ if (disk->script != NULL) {
|
|
+ LOG(DEBUG, "trying to locally attach PHY device %s with script %s",
|
|
+ disk->pdev_path, disk->script);
|
|
+ libxl__prepare_ao_device(ao, &dls->aodev);
|
|
+ dls->aodev.callback = local_device_attach_cb;
|
|
+ device_disk_add(egc, LIBXL_TOOLSTACK_DOMID, disk,
|
|
+ &dls->aodev, libxl__alloc_vdev,
|
|
+ (void *) blkdev_start);
|
|
+ return;
|
|
+ }
|
|
LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
|
|
disk->pdev_path);
|
|
dev = disk->pdev_path;
|
|
@@ -3085,7 +3095,7 @@ static void local_device_attach_cb(libxl
|
|
}
|
|
|
|
dev = GCSPRINTF("/dev/%s", disk->vdev);
|
|
- LOG(DEBUG, "locally attaching qdisk %s", dev);
|
|
+ LOG(DEBUG, "locally attached disk %s", dev);
|
|
|
|
rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
|
|
if (rc < 0)
|
|
@@ -3125,6 +3135,7 @@ void libxl__device_disk_local_initiate_d
|
|
if (!dls->diskpath) goto out;
|
|
|
|
switch (disk->backend) {
|
|
+ case LIBXL_DISK_BACKEND_PHY:
|
|
case LIBXL_DISK_BACKEND_QDISK:
|
|
if (disk->vdev != NULL) {
|
|
GCNEW(device);
|
|
@@ -3142,7 +3153,6 @@ void libxl__device_disk_local_initiate_d
|
|
/* disk->vdev == NULL; fall through */
|
|
default:
|
|
/*
|
|
- * Nothing to do for PHYSTYPE_PHY.
|
|
* For other device types assume that the blktap2 process is
|
|
* needed by the soon to be started domain and do nothing.
|
|
*/
|