]> git.proxmox.com Git - pve-storage.git/commitdiff
storage: add volume_snapshot_rollback
authorAlexandre Derumier <aderumier@odiso.com>
Thu, 6 Sep 2012 08:27:58 +0000 (10:27 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 6 Sep 2012 08:37:01 +0000 (10:37 +0200)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
PVE/Storage.pm

index 188db60405f23cb3e6b654f01b7618c96ea38c5d..387ff20ae8450e0392217201aa638222c2ae1c63 100755 (executable)
@@ -153,6 +153,21 @@ sub volume_snapshot {
     }
 }
 
+sub volume_snapshot_rollback {
+    my ($cfg, $volid, $snap) = @_;
+
+    my ($storeid, $volname) = parse_volume_id($volid, 1);
+    if ($storeid) {
+        my $scfg = storage_config($cfg, $storeid);
+        my $plugin = PVE::Storage::Plugin->lookup($scfg->{type});
+        return $plugin->volume_snapshot_rollback($scfg, $storeid, $volname, $snap);
+    } elsif ($volid =~ m|^(/.+)$| && -e $volid) {
+        die "snapshot rollback device is not possible";
+    } else {
+        die "can't snapshot";
+    }
+}
+
 sub get_image_dir {
     my ($cfg, $storeid, $vmid) = @_;