>From c56f348d1f5f1f93ab7258c391e760b960a0db74 Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Thu, 1 Oct 2009 16:06:17 +0100 Subject: [PATCH] inspector: Canonicalize device names (fix RHBZ#526717). Make filesystem device names canonical, so they are /dev/sd* instead of /dev/vd*. --- perl/lib/Sys/Guestfs/Lib.pm | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/perl/lib/Sys/Guestfs/Lib.pm b/perl/lib/Sys/Guestfs/Lib.pm index a9868e2..068cde5 100644 --- a/perl/lib/Sys/Guestfs/Lib.pm +++ b/perl/lib/Sys/Guestfs/Lib.pm @@ -575,7 +575,19 @@ sub inspect_all_partitions my $g = shift; my $parts = shift; my @parts = @$parts; - return map { $_ => inspect_partition ($g, $_, @_) } @parts; + return map { _canonical_dev ($_) => inspect_partition ($g, $_, @_) } @parts; +} + +# Turn /dev/vd* and /dev/hd* into canonical device names +# (see BLOCK DEVICE NAMING in guestfs(3)). + +sub _canonical_dev +{ + local $_ = shift; + + return "/dev/sd$1" if m{^/dev/hd(\w+)}; + return "/dev/sd$1" if m{^/dev/vd(\w+)}; + return $_; } =head2 inspect_partition -- 1.6.2.5