A userspace filesystem
Mounts require FUSE support. Rootfs boot also needs the daemon and runtime libraries in the initramfs, with the daemon kept alive after handoff.
Compatibility & limits
ArgosFS implements a broad Linux filesystem surface. Support depends on the operation, backend, kernel, and permissions available in your environment.
Behavior, not a badge
This is a guide to supported behavior and validation paths, not a live test report or a claim of full POSIX conformance.
| Area | Scope | What to expect |
|---|---|---|
| File and directory I/O | Implemented | Lookup, create, read/write, truncate, readdir, and fsync. Covered by Rust tests and mounted smoke scripts. |
| Ownership and timestamps | Environment-dependent | chmod, chown, and utimens checks depend on host permissions; cross-user checks require uid switching. |
| Extended attributes and ACLs | With limits | User xattrs and supported ACL namespaces have explicit handling. Protected and unsupported forms can be rejected. |
| Rename and links | Implemented | Hard links, symlinks, overwrite, and supported rename flags. Kernel support affects mounted renameat2 checks; whiteout is rejected. |
| Byte-oriented filenames | Implemented | Non-UTF-8 names are exercised through mounted operations and metadata roundtrips. |
| Special files | Environment-dependent | Device nodes, FIFOs, and sockets require the appropriate host permissions for creation and roundtrip checks. |
| pjdfstest | Optional suite | The wrapper records pass, fail, or skip outcomes when the external suite and a confirmed mountpoint are available. |
| Full xfstests | Local privileged runs | Needs scratch devices and privileges beyond default CI. Do not infer full-suite conformance from basic smoke coverage. |
Current boundaries
Mounts require FUSE support. Rootfs boot also needs the daemon and runtime libraries in the initramfs, with the daemon kept alive after handoff.
Raw pools and device replacement need further hardening and workload-specific testing before use with irreplaceable data.
Logical metadata still uses JSON serialization. Page indexing does not imply a completed B-tree storage engine, and throughput should not be assumed to match mature kernel filesystems.
Run the checks
Run from the repository root after building. Mounted suites require a working FUSE environment.
Test prerequisites & deeper suitescargo test
scripts/compat/run_fuse_smoke.sh
scripts/compat/run_mounted_fuse_compat.sh
Check emitted results for skips as well as failures. A skipped privileged check is not evidence of support.