diff -r aecda2763079 -r 4e3753b998a9 SI/dumper.pm --- a/SI/dumper.pm Mon Jan 18 22:55:10 2010 +0100 +++ b/SI/dumper.pm Tue Jan 19 14:49:43 2010 +0100 @@ -6,44 +6,11 @@ use SI::tools; use File::Basename; -#$VAR1 = { -# 'volume' => { -# '/dev/mapper/debian-swap' => { -# 'origin' => 'lvm', -# 'label' => undef, -# 'type' => 'swap', -# 'uuid' => undef -# }, -# '/dev/hda4' => { -# 'ptable_type' => '0', -# 'origin' => 'ptable' -# }, -# '/dev/hda1' => { -# 'ptable_type' => '83', -# 'origin' => 'ptable', -# 'label' => undef, -# 'type' => 'ext2', -# 'uuid' => 'a1fc3fc0-7bde-49c4-9afe-c71db8c4d08b' -# }, -# '/dev/hda3' => { -# 'ptable_type' => '0', -# 'origin' => 'ptable' -# }, -# '/dev/mapper/debian-root' => { -# 'origin' => 'lvm', -# 'label' => undef, -# 'type' => 'ext3', -# 'uuid' => 'b30578ac-841f-48b4-8ceb-1cdcbabc7fab' -# }, -# '/dev/hda2' => { -# 'ptable_type' => '8', -# 'origin' => 'ptable', -# 'label' => undef, -# 'type' => 'lvm2pv', -# 'uuid' => 'S4zDgc-hEWW-h9BY-XHz3-32TE-66W1-W0iMVE' -# } -# }, -# }; +my @cleanup; +END { + #map { eval { run("lvchange -an $_ 2>/dev/null") } } @cleanup; + #map { eval { run("lvremove -ff $_ 2>/dev/null") } } @cleanup; +} sub dump($\%) { my ($file, $devs) = @_; @@ -54,20 +21,18 @@ verbose("dumping volume $volume->{name}"); my $dumpdev = $volume->{name}; - if ($volume->{origin} =~ /lvm/i) { - verbose("(lvm)"); - my ($vg, $lv) = `lvdisplay -c $volume->{name}` =~ /\s*\/dev\/(.*?)\/(.*?):/; - my $snap = "snap$$"; - - END { eval { run("lvchange -an $vg/$snap 2>/dev/null") }; - eval { run("lvremove -ff $vg/$snap 2>/dev/null") }; } - - eval { - run("lvcreate -s -L 1G -n snap$$ $vg/$lv 2>/dev/null"); - }; - if ($@) { warn "Can't create snapshot\n" } - else { $dumpdev = "/dev/$vg/$snap$$" }; - } +# if ($volume->{origin} =~ /lvm/i) { +# verbose("(lvm)"); +# my ($vg, $lv) = `lvdisplay -c $volume->{name}` =~ /\s*\/dev\/(.*?)\/(.*?):/; +# my $snap = "snap$$"; +# push @cleanup, "$vg/$lv"; +# +# #eval { +# # run("lvcreate -s -L 1G -n snap$$ $vg/$lv 2>/dev/null"); +# #}; +# if ($@) { warn "Can't create snapshot\n" } +# else { $dumpdev = "/dev/$vg/$snap$$" }; +# } my $of = sprintf $file, basename($volume->{name}); run("dump -0 -z -f $of $dumpdev");