[Libguestfs] [PATCH] inspector: Don't bomb if no kernels detected.

Jim Meyering jim at meyering.net
Thu Oct 1 15:49:37 UTC 2009


Richard W.M. Jones wrote:
> This is a partial fix for
> https://bugzilla.redhat.com/show_bug.cgi?id=526717
...
> 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}) {
...<indented-code-elided>...
> +	$xml->endTag("kernels");
>      }
> -    $xml->endTag("kernels");
>
>      if (exists $os->{root}->{registry}) {
>          $xml->startTag("windowsregistryentries");

ACK.  That will definitely result in better output.




More information about the Libguestfs mailing list