On Sat, Sep 17, 2011 at 06:22:09AM -0600, Eric Blake wrote: > For all types of disks other than qcow2, we were requesting that > SELinux labeling visit the new file as if it were qcow2, which > means labeling would try to find the backing files of an empty file. > And for a pre-existing qcow2 disk, we were passing NULL, which meant > that labelling tried to probe the file type (and if probing is > disabled, per the default qemu.conf, this made snapshots fail). > What we really want is to make SELinux labeling visit the new > file as raw; it will later be converted to qcow2 if qemu successfully > made the snapshot. > > * src/qemu/qemu_driver.c > (qemuDomainSnapshotCreateSingleDiskActive): Force SELinux labeling > to avoid probe of new file. > --- > > Fixes https://bugzilla.redhat.com/show_bug.cgi?id=738676 > > I wonder why we are passing disk types as strings, instead of encoding > them as an enum. Use of an enum would avoid my ugly hack of having to > cast away const of my temporary assignment of a string. The only advantage I would see is better error handling when hitting a value not known by the current libvirtd, the string allows to report what is missing, but it's really a corner case. > src/qemu/qemu_driver.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c > index 2a1e5ea..e2f428f 100644 > --- a/src/qemu/qemu_driver.c > +++ b/src/qemu/qemu_driver.c > @@ -9151,7 +9151,7 @@ qemuDomainSnapshotCreateSingleDiskActive(struct qemud_driver *driver, > origsrc = disk->src; > disk->src = source; > origdriver = disk->driverType; > - disk->driverType = driverType; > + disk->driverType = (char *) "raw"; /* Don't want to probe backing files */ > > if (virDomainLockDiskAttach(driver->lockManager, vm, disk) < 0) > goto cleanup; ACK, Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list