[Libguestfs] [PATCH] inspector: Don't bomb if no kernels detected.
Richard W.M. Jones
rjones at redhat.com
Thu Oct 1 14:24:40 UTC 2009
This is a partial fix for
https://bugzilla.redhat.com/show_bug.cgi?id=526717
Rich.
--
Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages. http://et.redhat.com/~rjones/libguestfs/
See what it can do: http://et.redhat.com/~rjones/libguestfs/recipes.html
-------------- next part --------------
>From 5021b2efea92c021c04812056149485ac4803e9c Mon Sep 17 00:00:00 2001
From: Richard Jones <rjones at trick.home.annexia.org>
Date: Thu, 1 Oct 2009 15:20:14 +0100
Subject: [PATCH 1/2] inspector: Don't bomb if no kernels detected.
If $os->{kernels} wasn't defined, virt-inspector would exit with
an error, leaving partial XML output.
Change the code so it doesn't die in this case, instead just
leaves out the <kernels> section.
---
inspector/virt-inspector | 34 ++++++++++++++++++----------------
1 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/inspector/virt-inspector b/inspector/virt-inspector
index 86b1795..dc8847f 100755
--- a/inspector/virt-inspector
+++ b/inspector/virt-inspector
@@ -550,23 +550,25 @@ sub output_xml_os
$xml->endTag("boot");
}
- $xml->startTag("kernels");
- my @kernels = @{$os->{kernels}};
- foreach (@kernels) {
- $xml->startTag("kernel",
- "version" => $_->{version},
- "arch" => $_->{arch});
- $xml->startTag("modules");
- my @modules = @{$_->{modules}};
- foreach (@modules) {
- $xml->dataElement("module", $_);
- }
- $xml->endTag("modules");
- $xml->dataElement("path", $_->{path}) if(defined($_->{path}));
- $xml->dataElement("package", $_->{package}) if(defined($_->{package}));
- $xml->endTag("kernel");
+ if ($os->{kernels}) {
+ $xml->startTag("kernels");
+ my @kernels = @{$os->{kernels}};
+ foreach (@kernels) {
+ $xml->startTag("kernel",
+ "version" => $_->{version},
+ "arch" => $_->{arch});
+ $xml->startTag("modules");
+ my @modules = @{$_->{modules}};
+ foreach (@modules) {
+ $xml->dataElement("module", $_);
+ }
+ $xml->endTag("modules");
+ $xml->dataElement("path", $_->{path}) if(defined($_->{path}));
+ $xml->dataElement("package", $_->{package}) if(defined($_->{package}));
+ $xml->endTag("kernel");
+ }
+ $xml->endTag("kernels");
}
- $xml->endTag("kernels");
if (exists $os->{root}->{registry}) {
$xml->startTag("windowsregistryentries");
--
1.6.2.5
More information about the Libguestfs
mailing list