# make a change which is not backwards compatible. It is not related
# to the libguestfs version number.
use vars qw($VERSION);
-$VERSION = '0.1';
+$VERSION = '0.2';
use Carp qw(croak);
'/dev/VG/Root' => \%os,
}
-(There can be multiple roots for a multi-boot VM).
+There can be multiple roots for a multi-boot VM, but this function
+will throw an error if no roots (ie. OSes) could be found.
The C<\%os> hash contains the following keys (any can be omitted):
}
}
+ # If we didn't find any operating systems then it's an error (RHBZ#591142).
+ if (0 == keys %oses) {
+ die __"No operating system could be detected inside this disk image.\n\nThis may be because the file is not a disk image, or is not a virtual machine\nimage, or because the OS type is not understood by virt-inspector.\n\nIf you feel this is an error, please file a bug report including as much\ninformation about the disk image as possible.\n";
+ }
+
return \%oses;
}
my $oses = inspect_operating_systems ($g, \%fses);
my @roots = keys %$oses;
-die __"no root device found in this operating system image" if @roots == 0;
die __"multiboot operating systems are not supported by virt-cat" if @roots > 1;
my $root_dev = $roots[0];
my $oses = inspect_operating_systems ($g, \%fses);
my @roots = keys %$oses;
-die __"no root device found in this operating system image" if @roots == 0;
die __"multiboot operating systems are not supported by virt-edit" if @roots > 1;
my $root_dev = $roots[0];
my $oses = inspect_operating_systems ($g, \%fses);
my @roots = keys %$oses;
-die __"no root device found in this operating system image\n" if @roots == 0;
die __"multiboot operating systems are not supported by virt-ls\n" if @roots > 1;
my $root_dev = $roots[0];
my $oses = inspect_operating_systems ($g, \%fses);
my @roots = keys %$oses;
-die __"no root device found in this operating system image\n" if @roots == 0;
die __"multiboot operating systems are not supported by virt-tar\n" if @roots > 1;
my $root_dev = $roots[0];
my $oses = inspect_operating_systems ($g, \%fses);
my @roots = keys %$oses;
-die __"no root device found in this operating system image" if @roots == 0;
die __"multiboot operating systems are not supported by virt-win-reg" if @roots > 1;
my $root_dev = $roots[0];