--- a/SI/dumper.pm Wed Jan 20 17:44:57 2010 +0100
+++ b/SI/dumper.pm Wed Jan 20 21:35:35 2010 +0100
@@ -9,8 +9,10 @@
sub dump($\%) {
my ($file, $devs) = @_;
- foreach my $volume (map { { name => $_, %{ $devs->{volume}{$_} } } }
- keys %{ $devs->{volume} })
+ foreach my $volume (
+ map { { name => $_, %{ $devs->{volume}{$_} } } }
+ keys %{ $devs->{volume} }
+ )
{
next if !defined $volume->{type} or $volume->{type} !~ /^ext/i;
--- a/SI/lvm.pm Wed Jan 20 17:44:57 2010 +0100
+++ b/SI/lvm.pm Wed Jan 20 21:35:35 2010 +0100
@@ -24,8 +24,9 @@
grep { $_ ~~ @known } map { s/\s*//; (split /:/)[0] } `pvdisplay -c`;
@volumegroups = map { (split /:/)[1] } `pvdisplay -c @pvs 2>/dev/null`;
run("vgchange -ay @volumegroups 2>&1 >/dev/null");
+
# we wait for the /dev/mapper devices to appear
- run("udevadm settle");
+ run("udevadm settle");
return @volumegroups;
}
@@ -44,7 +45,7 @@
$devs->{volume}{$_} = { origin => "lvm" };
}
- push @{$devs->{volumes}}, @lvs;
+ push @{ $devs->{volumes} }, @lvs;
}
sub vgcfgbackup($\%) {
--- a/SI/ptable.pm Wed Jan 20 17:44:57 2010 +0100
+++ b/SI/ptable.pm Wed Jan 20 21:35:35 2010 +0100
@@ -31,8 +31,10 @@
# only useful on KVM - the usb stick doesn't appear as a removeable
# device
next
- if (stat $0)[0] ~~ [map { (stat)[6] }
- map { "/dev/" . basename(dirname $_) } glob("$_/*/partition")];
+ if (stat $0)[0] ~~ [
+ map { (stat)[6] }
+ map { "/dev/" . basename(dirname $_) } glob("$_/*/partition")
+ ];
verbose("\n");
verbose("device $dev\n");
@@ -57,7 +59,7 @@
origin => "ptable",
ptable_type => $2,
};
- push @{$devs->{volumes}}, $1;
+ push @{ $devs->{volumes} }, $1;
}
}
--- a/SI/system.pm Wed Jan 20 17:44:57 2010 +0100
+++ b/SI/system.pm Wed Jan 20 21:35:35 2010 +0100
@@ -22,32 +22,38 @@
my $mnt = tempdir(CLEANUP => 1);
my $h;
- foreach my $fs (grep { exists $devs->{volume}{$_}{type} and $devs->{volume}{$_}{type} =~ /^ext/i } @{$devs->{volumes}})
+ foreach my $fs (
+ grep {
+ exists $devs->{volume}{$_}{type}
+ and $devs->{volume}{$_}{type} =~ /^ext/i
+ } @{ $devs->{volumes} }
+ )
{
run("mount -r $fs $mnt");
if (-f "$mnt/etc/hostname") {
chomp($h = cat("$mnt/etc/hostname"));
}
run("umount $mnt");
- return $h if defined $h;
+ return $h if defined $h;
}
return $h;
}
sub fsck(\%) {
- my $devs = shift;
-
- foreach my $v ( grep { exists $devs->{volume}{type} } keys %{$devs->{volume}} ) {
- my $volume = $devs->{volume}{$v};
- next if $volume->{type} !~ /^ext/i;
+ my $devs = shift;
- system("fsck -C0 $v");
- die "ERR: fsck failed\n" if $? > 2;
- }
+ foreach
+ my $v (grep { exists $devs->{volume}{type} } keys %{ $devs->{volume} })
+ {
+ my $volume = $devs->{volume}{$v};
+ next if $volume->{type} !~ /^ext/i;
+
+ system("fsck -C0 $v");
+ die "ERR: fsck failed\n" if $? > 2;
+ }
}
-
1;
# vim:sts=4 sw=4 aw ai si:
--- a/si Wed Jan 20 17:44:57 2010 +0100
+++ b/si Wed Jan 20 21:35:35 2010 +0100
@@ -27,8 +27,8 @@
MAIN: {
my %id = (
- mac => SI::system::id,
- name => undef,
+ mac => SI::system::id,
+ name => undef,
);
GetOptions(
@@ -71,9 +71,9 @@
unlink("../image-$id{name}") if -l "../image-$id{name}";
symlink(basename($dir), "../image-$id{name}");
- print {new IO::File ">$dir/info/mac"} "$id{mac}\n";
- print {new IO::File ">$dir/info/name"} "$id{name}\n";
- print {new IO::File ">$dir/info/devices"} Dumper \%devices
+ print { new IO::File ">$dir/info/mac" } "$id{mac}\n";
+ print { new IO::File ">$dir/info/name" } "$id{name}\n";
+ print { new IO::File ">$dir/info/devices" } Dumper \%devices
or die "ERR: Can't open $dir/info/devices: $!\n";
SI::dumper::dump("$dir/dump/%s", %devices);
@@ -81,7 +81,7 @@
# HACK ... fixme
system("rmdir ../* 2>/dev/null");
- print {new IO::File ">$dir/done"} localtime() . "\n";
+ print { new IO::File ">$dir/done" } localtime() . "\n";
run("sync");
exit;