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}{$_} } } } |
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"); |