diff -r bdc967bf50d2 -r a61b92c60367 lib/SI/lvm.pm --- a/lib/SI/lvm.pm Sun Jan 31 01:17:32 2010 +0100 +++ b/lib/SI/lvm.pm Sun Jan 31 23:58:01 2010 +0100 @@ -84,10 +84,12 @@ my $devs = shift; foreach (@cfgs) { - my $vg = basename($_); - next if $vg eq "vg.*"; - print $vg, "\n"; + my $vg = (split /\./, basename($_))[1]; + next if $vg eq "*"; + run("vgcfgrestore -f $_ $vg"); + run("vgchange -ay $vg"); } + run("udevadm settle"); } sub mkfs(\%) { @@ -97,15 +99,15 @@ next if $v->{origin} ne "lvm" or not defined $v->{type}; - my $label = default("" => $v->{label}); - my $uuid = default("" => $v->{uuid}); + my $label = defined $v->{label} ? "-L '$v->{label}'" : ""; + my $uuid = defined $v->{uuid} ? "-U '$v->{uuid}'" : ""; given($v->{type}) { when(/ext/) { - run("mkfs -t $v->{type} -L '$label' -U '$uuid' $volume"); + run("mkfs -t $v->{type} $label $uuid $volume"); }; when(/swap/) { - run("mkswap -L '$label' -U '$uuid' $volume"); + run("mkswap $label $uuid $volume"); }; } }