--- a/SI/lvm.pm Sat Jan 16 23:53:50 2010 +0100
+++ b/SI/lvm.pm Sun Jan 17 12:13:47 2010 +0100
@@ -1,10 +1,11 @@
package SI::lvm;
+use if $ENV{DEBUG} ~~ /lvm|all/ => qw(Smart::Comments);
+
use strict;
use warnings;
use IO::File;
-use if $ENV{DEBUG} ~~ /lvm|all/ => qw(Smart::Comments);
use SI::tools;
@@ -15,11 +16,11 @@
my $devs = shift;
- my @pvs = grep { $devs->{volume}{$_}{type} =~ /^lvm/ }
- grep { defined $devs->{volume}{$_} }
- keys %{$devs->{volume}};
+ use Data::Dumper;
+ die Dumper \@pvs;
+ my @pvs = grep { exists $devs->{disk}{$_} } map { s/\s*//; (split /:/)[0] } `pvdisplay -c`;
- return @volumegroups = map { (split /:/)[1] } `pvdisplay -c @pvs`;
+ return @volumegroups = map { (split /:/)[1] } `pvdisplay -c @pvs 2>/dev/null`;
}
sub volumes(\%) {
@@ -27,9 +28,6 @@
# we can't just use `pvs', since this would return *all*
# physical devices known to lvm, not just the non-removable
- my @pvs = grep { $devs->{volume}{$_}{type} =~ /^lvm/ }
- grep { defined $devs->{volume}{$_} }
- keys %{$devs->{volume}};
my @vgs = _vgs(%$devs);
my @lvs = map { readlink }