diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs index d745be39..5af8a295 100644 --- a/pbs-datastore/src/datastore.rs +++ b/pbs-datastore/src/datastore.rs @@ -487,6 +487,7 @@ impl DataStore { log::debug!("namespace {ns} already removed") } Err(nix::Error::Sys(nix::errno::Errno::ENOTEMPTY)) if !delete_groups => { + removed_all_requested = false; log::debug!("skip removal of non-empty namespace {ns}") } Err(err) => { diff --git a/src/api2/admin/namespace.rs b/src/api2/admin/namespace.rs index 1f524cb0..20db97d6 100644 --- a/src/api2/admin/namespace.rs +++ b/src/api2/admin/namespace.rs @@ -168,7 +168,11 @@ pub fn delete_namespace( let datastore = DataStore::lookup_datastore(&store, Some(Operation::Write))?; if !datastore.remove_namespace_recursive(&ns, delete_groups)? { - bail!("group only partially deleted due to protected snapshots"); + if delete_groups { + bail!("group only partially deleted due to protected snapshots"); + } else { + bail!("only partially deleted due to existing groups but `delete-groups` not true "); + } } Ok(Value::Null)