lib/SI/lvm.pm
changeset 37 a61b92c60367
parent 36 bdc967bf50d2
--- 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");
 	    };
 	}
     }