ATFS-DATA-READONLY
Fully documented: why this happens, and how to fix it.
atfs refused to start because it could not write to its own data directory. A startup write test failed, which usually means the underlying filesystem has gone read-only.
What triggered it
Before doing anything else, atfs writes a small test file to ATFS_DATA_DIR and confirms it can read it back. On this instance, that
write failed. The most common cause is a filesystem the kernel has
already remounted read-only, after detecting corruption it cannot repair
on its own.
Why this matters
Every piece of atfs’s durable state — blobs, the UnixFS index, the libp2p identity key — lives under this one directory. An instance that cannot write here cannot serve new uploads, cannot persist pin intents, and cannot even confirm its own identity key is intact. Running anyway, in a half-functional state that looks live but silently drops data, would be worse than refusing to start.
Fix
Reflash or reformat the data volume, or point ATFS_DATA_DIR at a
different, writable location. On an SD-card device, check the serial
console’s boot log first. A remount to read-only is usually logged
there, with the specific filesystem error that caused it. See Read the report for how to reach
that log.
Common pitfalls
- Restarting the device without addressing the underlying filesystem problem. A remount-to-read-only event usually recurs on the same damaged volume.
- Treating this as a permissions problem. A read-only remount is a
filesystem-health event, not something a
chmodfixes. - Assuming this code only happens on SD-card hardware. A Docker volume backed by a failing disk, or mounted read-only by mistake, fails the same write test.
See the settings reference for ATFS_DATA_DIR and its platform-specific defaults.