Skip to content

Overcommitting storage silently corrupts data #651

Description

@crackerjam

Trying to copy a 10GB file to a 2GB Stratis filesystem appears to succeed, but in reality causes the file to be corrupted. To reproduce:

  1. Login to a RHEL 9.2 system as root (System has a 20GB root disk, plus a 2GB blank disk)
  2. Install/enable/start stratisd and stratis-cli (version 3.4.1)
    yum -y install stratisd stratis-cli; systemctl enable --now stratisd
  3. stratis pool create testpool /dev/sdb
  4. stratis filesystem create testpool testfilesystem
  5. mkdir -p /mnt/test
  6. Add this line to /etc/fstab
    /dev/stratis/testpool/testfilesystem /mnt/test xfs defaults,x-systemd.requires=stratisd.service 0 0
  7. mount -a
  8. Download a large file to /root for testing
    wget -P /root http://mirrors.rit.edu/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Everything-2009.iso
  9. Copy the file to the Stratis filesystem
    cp /root/CentOS-7-x86_64-Everything-2009.iso /mnt/test
  10. Hash the test file in both locations
    md5sum /root/CentOS-7-x86_64-Everything-2009.iso
    md5sum /mnt/test/CentOS-7-x86_64-Everything-2009.iso

These checksums will come back different, indicating data corruption.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions