equal
deleted
inserted
replaced
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 |