# HG changeset patch # User Heiko Schlittermann # Date 1264019735 -3600 # Node ID 39421a9700c5e9d0f51652ec4c344a75f8ae725d # Parent 8242547f49655c45f1ce67d825c1a0d83b84f2ef [perltidy] diff -r 8242547f4965 -r 39421a9700c5 SI/dumper.pm --- 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; diff -r 8242547f4965 -r 39421a9700c5 SI/lvm.pm --- 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($\%) { diff -r 8242547f4965 -r 39421a9700c5 SI/ptable.pm --- 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; } } diff -r 8242547f4965 -r 39421a9700c5 SI/system.pm --- 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: diff -r 8242547f4965 -r 39421a9700c5 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;