]> git.proxmox.com Git - qemu-server.git/commitdiff
add possibility to restore backup on rbd in krbd mode
authorWolfgang Link <w.link@proxmox.com>
Tue, 8 Sep 2015 14:05:21 +0000 (16:05 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 9 Sep 2015 05:47:42 +0000 (07:47 +0200)
PVE/QemuServer.pm

index 50b3dd6fbe41ecec59e8e45ca1133708ddcc1ded..be4d3d96df33a9de8cc5d80dc6594337b0a09981 100644 (file)
@@ -5363,6 +5363,8 @@ sub restore_vma_archive {
            $d->{volid} = $volid;
            my $path = PVE::Storage::path($cfg, $volid);
 
+           PVE::Storage::activate_volumes($cfg,[$volid]);
+
            my $write_zeros = 1;
            # fixme: what other storages types initialize volumes with zero?
            if ($scfg->{type} eq 'dir' || $scfg->{type} eq 'nfs' || $scfg->{type} eq 'glusterfs' ||
@@ -5428,13 +5430,21 @@ sub restore_vma_archive {
 
     alarm($oldtimeout) if $oldtimeout;
 
+    my $vollist = [];
+    foreach my $devname (keys %$devinfo) {
+       my $volid = $devinfo->{$devname}->{volid};
+       push @$vollist, $volid if $volid;
+    }
+
+    my $cfg = cfs_read_file('storage.cfg');
+    PVE::Storage::deactivate_volumes($cfg, $vollist);
+
     unlink $mapfifo;
 
     if ($err) {
        rmtree $tmpdir;
        unlink $tmpfn;
 
-       my $cfg = cfs_read_file('storage.cfg');
        foreach my $devname (keys %$devinfo) {
            my $volid = $devinfo->{$devname}->{volid};
            next if !$volid;