Skip to content

Commit 4243f9c

Browse files
committed
provisioning: Ensure constraints are valid
Signed-off-by: Ikey Doherty <[email protected]>
1 parent a663208 commit 4243f9c

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

crates/provisioning/src/commands/create_partition.rs

+8
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,14 @@ pub(crate) fn parse(context: Context<'_>) -> Result<super::Command, crate::Error
5858
}
5959
}
6060

61+
if matches!(constraints, Constraints::Invalid) {
62+
return Err(crate::InvalidArguments {
63+
at: context.node.span(),
64+
advice: Some("create-partition [disk=<disk>] [role=<role>] [constraints=<constraints>] [type=(GUID)] - you must provide constraints".into()),
65+
}
66+
.into());
67+
}
68+
6169
Ok(super::Command::CreatePartition(Box::new(Command {
6270
disk,
6371
id,

crates/provisioning/src/types/constraints.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use crate::{get_kdl_entry, kdl_value_to_storage_size};
66

77
/// Constraints for partition size, 1:1 mapping to SizeRequirements in
88
/// partitioning strategy internals.
9-
#[derive(Debug, Default, Clone, Copy)]
9+
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
1010
pub enum Constraints {
1111
/// Exact size in bytes
1212
Exact(u64),

0 commit comments

Comments
 (0)