aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiogo464 <[email protected]>2024-01-01 18:59:10 +0000
committerdiogo464 <[email protected]>2024-01-01 18:59:10 +0000
commit6ed294aceebf7515ed62785785fd9703f7e6af41 (patch)
tree6c87e01fc7f38f03475b67df7d6f344be9e1830e
parenta73979c1c55a5474bc338f067b14830b68e02ae7 (diff)
added safe-guard against dataset destruction
-rw-r--r--src/zfs.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/zfs.rs b/src/zfs.rs
index 380efa6..3800d42 100644
--- a/src/zfs.rs
+++ b/src/zfs.rs
@@ -34,6 +34,7 @@ pub fn snapshot_prune(tag: &str, dataset: &str, recursive: bool, keep: usize) ->
34 for snapshot in snapshots.into_iter().skip(keep) { 34 for snapshot in snapshots.into_iter().skip(keep) {
35 tracing::debug!(name = snapshot.name.as_str(), "destroying snapshot"); 35 tracing::debug!(name = snapshot.name.as_str(), "destroying snapshot");
36 let rec = if recursive { "-r" } else { "" }; 36 let rec = if recursive { "-r" } else { "" };
37 assert!(snapshot.name.contains('@')); // safe-guard to prevent accidental deletion of non-snapshots
37 let cmd = format!("zfs destroy {} {}", rec, snapshot.name); 38 let cmd = format!("zfs destroy {} {}", rec, snapshot.name);
38 let _output = run_shell_command(&cmd)?; 39 let _output = run_shell_command(&cmd)?;
39 } 40 }