]> xenbits.xensource.com Git - libvirt.git/commitdiff
Reintroduce support for lzop compression
authorCharles Duffy <charles@dyfis.net>
Thu, 10 Sep 2009 09:13:33 +0000 (11:13 +0200)
committerDaniel Veillard <veillard@redhat.com>
Thu, 10 Sep 2009 09:13:33 +0000 (11:13 +0200)
lzop was removed due to some confusion over whether it provided functional
advantages distinct from xz. This has been addressed in the mailing list post
archived at http://permalink.gmane.org/gmane.comp.emulators.libvirt/16487, and
support for lzop is re-added here.

* libvirt.spec.in: add dependancy on lzop
* src/qemu.conf: update documentation of save_image_format
* src/qemu_driver.c: re-add lzop compression option

libvirt.spec.in
src/qemu.conf
src/qemu_driver.c

index b01f9c2e9ab1c49585d09dfc670064cd5c2283b7..0157eeea67f31f7ef9fce69a19bc6c86c8b9d189 100644 (file)
@@ -117,6 +117,7 @@ Requires: /usr/bin/qemu-img
 # For image compression
 Requires: gzip
 Requires: bzip2
+Requires: lzop
 Requires: xz
 %else
 %if %{with_xen}
index 342bb8a19c2e325d636f28fbfe172eb41af042ba..6d6b86afdb65bfd2741333e840c218734b359377 100644 (file)
 # memory from the domain is dumped out directly to a file.  If you have
 # guests with a large amount of memory, however, this can take up quite
 # a bit of space.  If you would like to compress the images while they
-# are being saved to disk, you can also set "gzip", "bzip2", "lzma", "xz",
-# or "lzop" for save_image_format.  Note that this means you slow down
-# the process of saving a domain in order to save disk space.
+# are being saved to disk, you can also set "lzop", "gzip", "bzip2", or "xz"
+# for save_image_format.  Note that this means you slow down the process of
+# saving a domain in order to save disk space; the list above is in descending
+# order by performance and ascending order by compression ratio.
 #
 # save_image_format = "raw"
 
index 8f16e726cb61d0da4123b2d0ada3c66dca97d152..5c2a8ec255d4c11d89a055789c5ff6ad8daaab19 100644 (file)
@@ -3624,10 +3624,10 @@ enum qemud_save_formats {
     QEMUD_SAVE_FORMAT_BZIP2 = 2,
     /*
      * Deprecated by xz and never used as part of a release
-     * QEMUD_SAVE_FORMAT_LZMA,
-     * QEMUD_SAVE_FORMAT_LZOP,
+     * QEMUD_SAVE_FORMAT_LZMA
      */
     QEMUD_SAVE_FORMAT_XZ = 3,
+    QEMUD_SAVE_FORMAT_LZOP = 4,
     /* Note: add new members only at the end.
        These values are used in the on-disk format.
        Do not change or re-use numbers. */
@@ -3640,7 +3640,8 @@ VIR_ENUM_IMPL(qemudSaveCompression, QEMUD_SAVE_FORMAT_LAST,
               "raw",
               "gzip",
               "bzip2",
-              "xz")
+              "xz",
+              "lzop")
 
 struct qemud_save_header {
     char magic[sizeof(QEMUD_SAVE_MAGIC)-1];
@@ -4384,6 +4385,8 @@ static int qemudDomainRestore(virConnectPtr conn,
             intermediate_argv[0] = "bzip2";
         else if (header.compressed == QEMUD_SAVE_FORMAT_XZ)
             intermediate_argv[0] = "xz";
+        else if (header.compressed == QEMUD_SAVE_FORMAT_LZOP)
+            intermediate_argv[0] = "lzop";
         else if (header.compressed != QEMUD_SAVE_FORMAT_RAW) {
             qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED,
                              _("Unknown compressed save format %d"),