SI/dumper.pm
changeset 17 d4942418a9ea
parent 16 fd87c1e3b451
child 19 d12753b246fd
equal deleted inserted replaced
16:fd87c1e3b451 17:d4942418a9ea
     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}{$_}}}}  keys %{$devs->{volume}}) {
    12     foreach my $volume (map { { name => $_, %{ $devs->{volume}{$_} } } }
    13 	next if !defined $volume->{type} or $volume->{type} !~ /^ext/i;
    13         keys %{ $devs->{volume} })
       
    14     {
       
    15         next if !defined $volume->{type} or $volume->{type} !~ /^ext/i;
    14 
    16 
    15 	system("fsck -f -C0 $volume->{name}");
    17         system("fsck -f -C0 $volume->{name}");
    16 	die "ERR: fsck failed\n" if $? > 2;
    18         die "ERR: fsck failed\n" if $? > 2;
    17 
    19 
    18 	verbose("dumping volume $volume->{name}");
    20         verbose("dumping volume $volume->{name}");
    19 	my $dumpdev = $volume->{name};
    21         my $dumpdev = $volume->{name};
    20 	my $of = sprintf $file, basename($volume->{name});
    22         my $of = sprintf $file, basename($volume->{name});
    21 	run("dump -0 -z -f $of $dumpdev");
    23         run("dump -0 -z -f $of $dumpdev");
    22 	verbose("\n");
    24         verbose("\n");
    23     }
    25     }
    24 }
    26 }
    25 
    27 
    26 1;
    28 1;
    27 
    29