diff --git a/seaweed-volume/src/storage/erasure_coding/ec_shard.rs b/seaweed-volume/src/storage/erasure_coding/ec_shard.rs index ab8e3d637..6a6a8d6ea 100644 --- a/seaweed-volume/src/storage/erasure_coding/ec_shard.rs +++ b/seaweed-volume/src/storage/erasure_coding/ec_shard.rs @@ -8,6 +8,8 @@ use crate::storage::types::*; pub const DATA_SHARDS_COUNT: usize = 10; pub const PARITY_SHARDS_COUNT: usize = 4; pub const TOTAL_SHARDS_COUNT: usize = DATA_SHARDS_COUNT + PARITY_SHARDS_COUNT; +pub const MAX_SHARD_COUNT: usize = 32; +pub const MIN_TOTAL_DISKS: usize = TOTAL_SHARDS_COUNT / PARITY_SHARDS_COUNT + 1; pub const ERASURE_CODING_LARGE_BLOCK_SIZE: usize = 1024 * 1024 * 1024; // 1GB pub const ERASURE_CODING_SMALL_BLOCK_SIZE: usize = 1024 * 1024; // 1MB diff --git a/seaweed-volume/src/storage/erasure_coding/mod.rs b/seaweed-volume/src/storage/erasure_coding/mod.rs index 2d752edc7..b6c07b450 100644 --- a/seaweed-volume/src/storage/erasure_coding/mod.rs +++ b/seaweed-volume/src/storage/erasure_coding/mod.rs @@ -10,6 +10,7 @@ pub mod ec_shard; pub mod ec_volume; pub use ec_shard::{ - EcVolumeShard, ShardId, DATA_SHARDS_COUNT, PARITY_SHARDS_COUNT, TOTAL_SHARDS_COUNT, + EcVolumeShard, ShardId, DATA_SHARDS_COUNT, MAX_SHARD_COUNT, MIN_TOTAL_DISKS, + PARITY_SHARDS_COUNT, TOTAL_SHARDS_COUNT, }; pub use ec_volume::EcVolume;