[libvirt] PATCH: Relabel disk images *before* hotplugging

For some bizarre reason the original code we added for sVirt disk labelling with hotplug did not relabel the disks until after telling QEMU to hotplug. Clearly this is going to fail 99% of the time. It also forgot todo labelling when invoking a CDROM media change src/qemu_driver.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) Daniel diff --git a/src/qemu_driver.c b/src/qemu_driver.c index 25d446d..59c163c 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -4136,10 +4136,14 @@ static int qemudDomainAttachDevice(virDomainPtr dom, switch (dev->data.disk->device) { case VIR_DOMAIN_DISK_DEVICE_CDROM: case VIR_DOMAIN_DISK_DEVICE_FLOPPY: + if (driver->securityDriver) + driver->securityDriver->domainSetSecurityImageLabel(dom->conn, vm, dev->data.disk); ret = qemudDomainChangeEjectableMedia(dom->conn, vm, dev); break; case VIR_DOMAIN_DISK_DEVICE_DISK: + if (driver->securityDriver) + driver->securityDriver->domainSetSecurityImageLabel(dom->conn, vm, dev->data.disk); if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_USB) { ret = qemudDomainAttachUsbMassstorageDevice(dom->conn, vm, dev); } else if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_SCSI || @@ -4151,8 +4155,6 @@ static int qemudDomainAttachDevice(virDomainPtr dom, virDomainDiskBusTypeToString(dev->data.disk->bus)); goto cleanup; } - if (driver->securityDriver) - driver->securityDriver->domainSetSecurityImageLabel(dom->conn, vm, dev->data.disk); break; default: -- 1.6.2.5 -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Tue, Jul 07, 2009 at 05:47:31PM +0100, Daniel P. Berrange wrote:
For some bizarre reason the original code we added for sVirt disk labelling with hotplug did not relabel the disks until after telling QEMU to hotplug. Clearly this is going to fail 99% of the time. It also forgot todo labelling when invoking a CDROM media change
Okay, looks fine, ACK Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/
participants (2)
-
Daniel P. Berrange
-
Daniel Veillard