{"record":{"id":"a749b8eee2462f2f","repo":"rustfs/rustfs","slug":"0x12","errorCode":"0x12","errorMessage":"Drive is root","messagePattern":"Drive is root","errorType":"exception","errorClass":"StorageError::DriveIsRoot","httpStatus":null,"severity":"error","filePath":"crates/ecstore/src/error/mod.rs","lineNumber":50,"sourceCode":"}\n\nimpl std::fmt::Display for StableIoContextError {\n    fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {\n        formatter.write_str(self.message)\n    }\n}\n\nimpl std::error::Error for StableIoContextError {\n    fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {\n        Some(self.source.as_ref())\n    }\n}\n\npub(crate) fn stable_io_error<E>(message: &'static str, source: E) -> std::io::Error\nwhere\n    E: Into<Box<dyn std::error::Error + Send + Sync>>,\n{\n    std::io::Error::other(StableIoContextError {\n        message,\n        source: source.into(),\n    })\n}\n\n/// Storage layer error type covering disk, volume, bucket, object, multipart,\n/// erasure-coding, and operational error conditions.\n///\n/// Variants are organized by domain:\n///   - **Disk / Volume** – low-level storage I/O\n///   - **Bucket** – bucket-level operations\n///   - **Object** – object-level operations (including versioning)\n///   - **Multipart** – multipart upload lifecycle\n///   - **Erasure / Quorum** – erasure coding and quorum failures\n///   - **Operational** – decommission, healing, rate-limiting, etc.\n///   - **Generic** – I/O, locks, and catch-all errors\n#[derive(Debug, thiserror::Error)]\npub enum StorageError {","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/rustfs/rustfs/blob/5dca076efed96e7b842de07c4c2111035ae7c7a2/crates/ecstore/src/error/mod.rs#L32-L68","documentation":"Safety check error: the configured drive path resolves to the filesystem root '/'. Using root as a storage drive is disallowed because formatting/healing would endanger the host OS. Raised during disk validation at startup.","triggerScenarios":"Thrown at crates/ecstore/src/error/mod.rs:50 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Configure a dedicated, non-root mount path for storage","Never point a drive at '/'; use a separate partition/mount","Restart with corrected drive configuration"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5dca076efed96e7b842de07c4c2111035ae7c7a2","analyzedAt":"2026-08-20T21:57:04.799Z","contentChangedAt":"2026-08-20T21:57:04.799Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}