pub mod sizes {
pub const SECTOR: usize = 512;
pub const PAGE: usize = 4096;
pub const DMU_BLOCK: u64 = 128 * 1024;
pub const MIN_BLOCK: u64 = 512;
pub const MAX_BLOCK: u64 = 16 * 1024 * 1024;
pub const VDEV_LABEL: usize = 256 * 1024;
pub const UBERBLOCK: usize = 1024;
pub const BLKPTR: usize = 128;
pub const IDENTITY_BLOCK: usize = 4096;
pub const ZIL_BLOCK: usize = 512;
pub const DIRECT_IO_THRESHOLD: u64 = 1024 * 1024;
pub const SMALL_IO_THRESHOLD: u64 = 64 * 1024;
}
pub mod thresholds {
pub const RAPID_CREATE: usize = 100;
pub const MASS_DELETE: usize = 50;
pub const MIN_SAMPLES: u64 = 10;
pub const SIGMA_THRESHOLD: f64 = 3.0;
pub const CXL_DEMOTE_SECONDS: u64 = 60;
pub const COMPRESS_MIN_LZ4: usize = 64;
pub const COMPRESS_MIN_ZSTD: usize = 128;
pub const COMPRESS_MIN_LZMA: usize = 256;
}
pub mod limits {
pub const ARC_MAX_BYTES: usize = 100 * 1024 * 1024 * 1024;
pub const ARC_SHARDS: usize = 16;
pub const ARC_MAX_GHOSTS: usize = ARC_MAX_BYTES / 4096;
pub const BUFFER_POOL_SIZE: usize = 16;
pub const DMU_MAX_ACCESS: u64 = 64 * 1024 * 1024;
pub const OBJECT_ALLOC_CHUNK: u64 = 128;
pub const FAST_DEDUP_MAX_ENTRIES: usize = 65536;
pub const SCRUB_MAX_HISTORY: usize = 100;
pub const TRIM_BATCH_THRESHOLD: usize = 100;
pub const TRIM_BATCH_SIZE: usize = 256;
}
pub mod time {
pub const SECONDS_PER_MINUTE: u64 = 60;
pub const SECONDS_PER_HOUR: u64 = 3600;
pub const SECONDS_PER_DAY: u64 = 86400;
pub const MS_PER_SECOND: u64 = 1000;
pub const MS_PER_DAY: u64 = 24 * 3600 * 1000;
pub const COLD_TIER_MS: u64 = 30 * MS_PER_DAY;
pub const ARCHIVE_TIER_MS: u64 = 90 * MS_PER_DAY;
pub const GLACIER_TIER_MS: u64 = 365 * MS_PER_DAY;
}
pub mod performance {
pub const CPU_LZ4_MBPS: u32 = 500;
pub const CPU_ZSTD_MBPS: u32 = 200;
pub const COMPSTOR_COMPRESS_PRIORITY: u8 = 100;
pub const COMPSTOR_CHECKSUM_PRIORITY: u8 = 90;
pub const COMPSTOR_ENCRYPT_PRIORITY: u8 = 80;
}
pub mod magic {
pub const VDEV_LABEL: u64 = 0x00BADDCAFE;
pub const HYPERBLOCK: u64 = 0x00BADDCAFE;
pub const BLKPTR: u64 = 0x210BA7C0FFEE;
pub const ZAP: u64 = 0x2F52AB2AB;
pub const DNODE: u64 = 0xD0DE;
}