[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] snapshot: allow disk snapshots of qcow2 disks

On 09/17/2011 08:51 AM, Daniel Veillard wrote:
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.

I'll probably try cleaning that up, post 0.9.5.

-    disk->driverType = driverType;
+    disk->driverType = (char *) "raw"; /* Don't want to probe backing files */

      if (virDomainLockDiskAttach(driver->lockManager, vm, disk)<  0)
          goto cleanup;



Eric Blake   eblake redhat com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]