[pve-devel] [PATCH v4 storage 2/6] free: added snapshot parameter

Wolfgang Bumiller w.bumiller at proxmox.com
Fri May 12 11:56:07 CEST 2017


---
 PVE/API2/Storage/Content.pm | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/PVE/API2/Storage/Content.pm b/PVE/API2/Storage/Content.pm
index f159600..20c2eda 100644
--- a/PVE/API2/Storage/Content.pm
+++ b/PVE/API2/Storage/Content.pm
@@ -258,6 +258,12 @@ __PACKAGE__->register_method ({
 		type => 'string',
 		completion => \&PVE::Storage::complete_volume,
 	    },
+	    snapshot => {
+		description => "Delete a snapshot instead of the entire disk.",
+		type => 'string',
+		pattern => qr/[a-z0-9_\-]{1,40}/,
+		optional => 1,
+	    }
 	},
     },
     returns => { type => 'null' },
@@ -279,7 +285,12 @@ __PACKAGE__->register_method ({
 	    $rpcenv->check($authuser, "/storage/$storeid", ['Datastore.Allocate']);
 	}
 
-	PVE::Storage::vdisk_free ($cfg, $volid);
+	my $snapshot = $param->{snapshot};
+	if (defined($snapshot)) {
+	    PVE::Storage::volume_snapshot_delete($cfg, $volid, $snapshot, 0);
+	} else {
+	    PVE::Storage::vdisk_free($cfg, $volid);
+	}
 
 	return undef;
     }});
-- 
2.11.0





More information about the pve-devel mailing list