SECURITY WARNING: Never run commands you don't understand. Always review code before execution. Use at your own risk.
Storage New Added 17 October 2026

Structure needs cleaning

This is EUCLEAN, the kernel saying the filesystem found corrupt metadata and refused to trust it. On XFS and ext4 it usually follows an unclean shutdown, a failing disk or a virtual disk that lost writes. The file or directory named in the error is only where the damage was noticed: the repair has to run against the whole unmounted filesystem, and the disk underneath deserves checking first.

Quick fix

Read the commands before running them. Anything that restarts a service, deletes data or changes permissions should be tried on a non-production system first.

Quick fix
# See which device and what the kernel logged
dmesg -T | grep -iE "xfs|ext4|corrupt|I/O error" | tail -20

# Check the disk itself before repairing on top of it
sudo smartctl -H -a /dev/sdb

# Take a copy first if the data matters
sudo dd if=/dev/sdb1 of=/backup/sdb1.img bs=4M status=progress

# Unmount, then repair (XFS: dry run with -n first)
sudo umount /dev/sdb1
sudo xfs_repair -n /dev/sdb1
sudo xfs_repair /dev/sdb1

# ext4 equivalent
sudo e2fsck -f /dev/sdb1

How to diagnose Storage errors

Storage errors are dominated by permissions and locality. S3 access denials can come from an IAM policy, a bucket policy, a Block Public Access setting, an ACL or a KMS key policy: five independent layers, all of which must allow the call. Block storage errors are usually about availability zones: a volume can only attach to an instance in the same AZ.

If the quick fix above does not resolve it, work through these steps. They apply to this whole class of error, not just to this one message, which is usually what saves the time.

  1. For S3 denials, check all five layers: IAM policy, bucket policy, Block Public Access, object ACL and the KMS key policy if the object is encrypted with a customer-managed key.
  2. Confirm the region and the exact bucket name. A bucket in another region returns a redirect or a permanent error that reads like a permission problem.
  3. For signed URLs, check the expiry and that the clock on the signing machine is correct. A skewed clock produces URLs that are already expired.
  4. For NFS stale file handles, remount rather than retrying; the file the handle referred to no longer exists on the server.
  5. For volume attachment failures, verify the availability zone matches and that the volume is in the available state, not still attached elsewhere.

Tools worth reaching for

  • aws s3api get-bucket-policy
  • IAM Policy Simulator
  • mount -v / showmount -e
  • df -h / du -sh
  • aws ec2 describe-volumes

Authoritative references

Primary documentation for this error, worth reading before applying any fix in production.

man7.org man7.org

Related Storage errors

See all 19 Storage errors →

Browse other categories

Something missing or wrong?

This entry is maintained by hand. If the fix is out of date, incomplete, or you have a better one, email a correction and it will be reviewed.