X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=v2v%2Fvirt-v2v.pl;h=fb1f22049441cc415dd42bf314c0bb22bedc0893;hp=87da66bec9e9460cbff0442eafadc0b58bf69310;hb=f8f10578093e926f5f36289a6c11615d067fbcad;hpb=3f2ba6fdfbb82234e8a546dc54d568f49cd2e56b;ds=sidebyside diff --git a/v2v/virt-v2v.pl b/v2v/virt-v2v.pl index 87da66b..fb1f220 100755 --- a/v2v/virt-v2v.pl +++ b/v2v/virt-v2v.pl @@ -28,6 +28,7 @@ use Getopt::Long; use Data::Dumper; use File::Temp qw/tempdir/; use XML::Writer; +use Locale::TextDomain 'libguestfs'; =encoding utf8 @@ -170,7 +171,7 @@ if ($version) { print "$h{major}.$h{minor}.$h{release}$h{extra}\n"; exit } -pod2usage ("$0: no image or VM names given") if @ARGV == 0; +pod2usage (__"virt-v2v: no image or VM names given") if @ARGV == 0; # XXX This should be an option. Disable for now until we get # downloads working reliably. @@ -201,18 +202,22 @@ my $oses = inspect_operating_systems ($g, \%fses); #print "oses -----------\n"; #print Dumper($oses); -# We should probably refuse to do anything with those rare -# multiboot VMs at this point ... (XXX) +# Only work on single-root operating systems. +my $root_dev; +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 v2v" if @roots > 1; +$root_dev = $roots[0]; # Mount up the disks and check for applications. -my $root_dev; -foreach $root_dev (sort keys %$oses) { - my $os = $oses->{$root_dev}; - mount_operating_system ($g, $os); - inspect_in_detail ($g, $os); - $g->umount_all (); -} +my $os = $oses->{$root_dev}; +mount_operating_system ($g, $os); +inspect_in_detail ($g, $os); +$g->umount_all (); + + +