diff options
author | Richard Jones <rjones@trick.home.annexia.org> | 2009-10-01 16:06:17 +0100 |
---|---|---|
committer | Richard Jones <rjones@trick.home.annexia.org> | 2009-10-01 17:06:46 +0100 |
commit | bf6ea125577dccdb18cab635eda1fb79cd98e0d5 (patch) | |
tree | 7cc973ea3efa162a779d27f382eefe6e56cc9367 /perl | |
parent | 5d01670e31ef3259fb1fc84a83ab27aec8fdac0b (diff) | |
download | libguestfs-bf6ea125577dccdb18cab635eda1fb79cd98e0d5.tar.gz libguestfs-bf6ea125577dccdb18cab635eda1fb79cd98e0d5.tar.xz libguestfs-bf6ea125577dccdb18cab635eda1fb79cd98e0d5.zip |
inspector: Canonicalize device names (fix RHBZ#526717).
Make filesystem device names canonical, so they are /dev/sd*
instead of /dev/vd*.
Diffstat (limited to 'perl')
-rw-r--r-- | perl/lib/Sys/Guestfs/Lib.pm | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/perl/lib/Sys/Guestfs/Lib.pm b/perl/lib/Sys/Guestfs/Lib.pm index a9868e2a..8ea2c1bf 100644 --- a/perl/lib/Sys/Guestfs/Lib.pm +++ b/perl/lib/Sys/Guestfs/Lib.pm @@ -569,13 +569,23 @@ C<use_windows_registry> flag are explained below. =cut +# Turn /dev/vd* and /dev/hd* into canonical device names +# (see BLOCK DEVICE NAMING in guestfs(3)). + +sub _canonical_dev ($) +{ + my ($dev) = @_; + return "/dev/sd$1" if $dev =~ m{^/dev/[vh]d(\w+)}; + return $dev; +} + sub inspect_all_partitions { local $_; my $g = shift; my $parts = shift; my @parts = @$parts; - return map { $_ => inspect_partition ($g, $_, @_) } @parts; + return map { _canonical_dev ($_) => inspect_partition ($g, $_, @_) } @parts; } =head2 inspect_partition |