rustfs/rustfs · error · DiskError

drive is part of root drive, will not be used

Error message

drive is part of root drive, will not be used

What it means

DriveIsRoot is a DiskError sentinel: the candidate drive path resolves to (or lies on) the server's root drive/device. RustFS deliberately refuses to store erasure data on the OS root drive to protect the system volume.

Source

Thrown at crates/ecstore/src/disk/error.rs:62

// DiskError == StorageErr
#[derive(Debug, thiserror::Error)]
pub enum DiskError {
    #[error("maximum versions exceeded, please delete few versions to proceed")]
    MaxVersionsExceeded,

    #[error("unexpected error")]
    Unexpected,

    #[error("corrupted format")]
    CorruptedFormat,

    #[error("corrupted backend")]
    CorruptedBackend,

    #[error("unformatted disk error")]
    UnformattedDisk,

    #[error("inconsistent drive found")]
    InconsistentDisk,

    #[error("drive does not support O_DIRECT")]
    UnsupportedDisk,

    #[error("drive path full")]
    DiskFull,

    #[error("disk not a dir")]
    DiskNotDir,

    #[error("disk not found")]
    DiskNotFound,

    #[error("drive still did not complete the request")]
    DiskOngoingReq,

    #[error("drive is part of root drive, will not be used")]

View on GitHub (pinned to 5dca076efe)

Solutions

  1. Dedicate separate block devices to the erasure set
  2. Update drive configuration to exclude the root device
  3. This refusal is intentional; do not override it
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/ecstore/src/disk/error.rs:62 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of rustfs/rustfs@5dca076efe (2026-08-20). Data as JSON: /api/errors/21d6b34aa94b27f2. Report an issue: GitHub.