> ## Documentation Index
> Fetch the complete documentation index at: https://docs.archil.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Application Compatibility

> Archil is designed for full POSIX-compatibility

Archil's FUSE-based file system is designed to be fully compatible with *all* applications which run on a local, POSIX
file system. If you discover behavior that you believe deviates from POSIX, please contact us by emailing
[support@archil.com](mailto:support@archil.com), and we will address the underlying issue. We are continuously testing
our adherence to POSIX, using the same test suite as the XFS file systems.

## POSIX compatibility details

Archil disks are designed to be broadly compatible with POSIX semantics, even when the underlying data sources are not POSIX
compatible, like Amazon S3. When needed, the [Archil storage service](/details/architecture) emulates file operations on
data sources. Today, Archil supports the following POSIX features:

* All read and write operations, including random writes and appends
* Symbolic links (`ln -s`)
* Hard Links (`ln`)
* Atomic renames, including directory renames (`mv`)<sup><a href="#note-rename">1</a></sup>
* POSIX locks, including `flock` and `fcntl`<sup><a href="#note-locks">2</a></sup>
* Anonymous files (unlink after opening)
* File modes
* File ownership
* Extended attributes (with the `--enable-xattrs` flag)

<a id="note-rename" /><sub>**1.** A rename is atomic — a reader on another client sees either the old name or the new name, never a partial result. Archil's storage system is fully consistent; a client's cached view can lag briefly and refreshes with [`archil invalidate-cache`](/reference/archil-cli#invalidate-cache).</sub><br />
<a id="note-locks" /><sub>**2.** POSIX locks (`flock`/`fcntl`) are honored between processes on a single client, not across clients that share a disk. Today only one client can open a file for writing, so cross-client lock contention doesn't arise; coordinate access across clients with the [checkout/checkin ownership model](/concepts/shared-disks).</sub>

**We are actively working on adding support for the following features:**

* File ACLs
* `renameat2` flags, such as `RENAME_WHITEOUT`

## Application support

As a result of our broad compatibility with POSIX, Archil is compatible with all applications which run on
a local, POSIX file system. This includes:

* **Version control systems**, such as Git (including large repositories, `git clone`, `git checkout`, and `git status`), Mercurial, and Subversion
* **Databases**, such as PostgreSQL, MySQL, and SQLite
* **Build tools and compilers**, such as Make, CMake, GCC, and Clang
* **Archive and compression tools**, such as `tar`, `gzip`, `zip`, and `rsync`
* **Editors and IDEs**, such as Vim, Emacs, and VS Code
* **Containers** — [mount in a container](/mounting/containers) via a bind mount from the host or FUSE inside the container

## Limits

* **Path length** — on a disk synchronized to a data source, a file's full path can't exceed the data source's object-key length limit (1,024 characters for Amazon S3).
