SI/dumper.pm
changeset 27 de0a25512844
parent 26 39421a9700c5
equal deleted inserted replaced
17:d4942418a9ea 27:de0a25512844
     7 use File::Basename;
     7 use File::Basename;
     8 
     8 
     9 sub dump($\%) {
     9 sub dump($\%) {
    10     my ($file, $devs) = @_;
    10     my ($file, $devs) = @_;
    11 
    11 
    12     foreach my $volume (map { { name => $_, %{ $devs->{volume}{$_} } } }
    12     foreach my $volume (
    13         keys %{ $devs->{volume} })
    13         map { { name => $_, %{ $devs->{volume}{$_} } } }
       
    14         keys %{ $devs->{volume} }
       
    15       )
    14     {
    16     {
    15         next if !defined $volume->{type} or $volume->{type} !~ /^ext/i;
    17         next if !defined $volume->{type} or $volume->{type} !~ /^ext/i;
    16 
       
    17         system("fsck -f -C0 $volume->{name}");
       
    18         die "ERR: fsck failed\n" if $? > 2;
       
    19 
    18 
    20         verbose("dumping volume $volume->{name}");
    19         verbose("dumping volume $volume->{name}");
    21         my $dumpdev = $volume->{name};
    20         my $dumpdev = $volume->{name};
    22         my $of = sprintf $file, basename($volume->{name});
    21         my $of = sprintf $file, basename($volume->{name});
    23         run("dump -0 -z -f $of $dumpdev");
    22         run("dump -0 -z -f $of $dumpdev");