diff -r 42c603eb6301 -r a1aee1136609 SI/lvm.pm --- a/SI/lvm.pm Sun Jan 17 16:40:08 2010 +0100 +++ b/SI/lvm.pm Mon Jan 18 20:35:27 2010 +0100 @@ -16,10 +16,8 @@ my $devs = shift; - use Data::Dumper; - die Dumper \@pvs; - my @pvs = grep { exists $devs->{disk}{$_} } map { s/\s*//; (split /:/)[0] } `pvdisplay -c`; - + # find the physical volumes we already recognised as „non-removable“ + my @pvs = grep { $_ ~~ $devs->{disk} } map { s/\s*//; (split /:/)[0] } `pvdisplay -c`; return @volumegroups = map { (split /:/)[1] } `pvdisplay -c @pvs 2>/dev/null`; } @@ -34,8 +32,14 @@ map { s/^\s*//; (split /:/)[0] } grep { (split /:/)[1] ~~ @vgs } `lvdisplay -c`; - @{$devs->{volume}}{@lvs} = (); - + foreach (keys %{$devs->{volume}}) { + warn "---> $_\n"; + $devs->{volume}{$_} = { + vol_type => ($_ ~~ @lvs) ? "lv" : "", + } + } +### $devs + #@{$devs->{volume}}{@lvs} = map { { vol_type => "lv" } } @lvs; }