[libvirt] [PATCH] qemu: Remove bogus codes in function getCompressionType
Eric Blake
eblake at redhat.com
Tue Jul 26 15:43:52 UTC 2011
On 07/26/2011 01:04 AM, Osier Yang wrote:
> The error will never be reported, remove the codes, and also
> improve the docs in qemu.conf to tell user the truth.
> ---
> src/qemu/qemu.conf | 4 ++++
> src/qemu/qemu_driver.c | 16 +++++-----------
> 2 files changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/src/qemu/qemu.conf b/src/qemu/qemu.conf
> index 145062c..75d945b 100644
> --- a/src/qemu/qemu.conf
> +++ b/src/qemu/qemu.conf
> @@ -199,6 +199,10 @@
> # save_image_format is used when you use 'virsh save' at scheduled saving.
> # dump_image_format is used when you use 'virsh dump' at emergency crashdump.
> #
> +# If the specified format is not valid (the valid formats are "raw", "lzop",
> +# "gzip", "bzip2", and "xz"), or the compress program is not available, "raw"
It's a maintenance nightmare to document the list of compression types
twice, especially when it appears only one paragraph earlier. The
current wording ties the earlier list to only save_image_format, so a
better approach is one that makes it clear that a single list is good
for both variables. Maybe a better wording would be:
# The default format for Qemu/KVM guest save images is raw; that is, the
# 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 "lzop", "gzip", "bzip2", or
# "xz" for either image variable. 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 is used when you use 'virsh save' at scheduled
# saving, and it is an error if the requested compression is not found.
#
# dump_image_format is used when you use 'virsh dump' at emergency
# crashdump, and if the requested compression is not found, this falls
# back to "raw" compression.
#
> +# will be used as the format silently without error or warning.
Can we at least get a log message? It could be nice when inspecting a
dump file to learn why it was not compressed, by then reading the log
file and seeing a message that:
> + /* Use "raw" as the format if the specified format is not valid,
> + * or the compress program is not available,
> + */
> + if (compress< 0)
> return QEMUD_SAVE_FORMAT_RAW;
the requested qemu.conf format was invalid, or
> - }
> - if (!qemudCompressProgramAvailable(compress)) {
> - qemuReportError(VIR_ERR_OPERATION_FAILED,
> - "%s", _("Compression program for dump image format "
> - "in configuration file isn't available, "
> - "using raw"));
> + if (!qemudCompressProgramAvailable(compress))
> return QEMUD_SAVE_FORMAT_RAW;
the requested compression is valid, but not found on the machine.
I agree that qemuReportError() is not the right approach, since we are
proceeding with raw as the fallback, but silence instead of a log
message about why we used the fallback is not ideal.
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
More information about the libvir-list
mailing list