awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
trapexit avatar

trapexit/mergerfs

0
View on GitHub↗
5,709 stars·218 forks·C++·23 viewstrapexit.github.io/mergerfs↗

Mergerfs

mergerfs is a FUSE-based union filesystem that pools multiple independent filesystems or directories into a single unified mount point. It acts as a proxy to underlying storage, forwarding file operations directly to the filesystem for near-native performance while merging directory listings and attribute changes. The project provides a live, read-write pooled view of storage that aggregates drives of any size without requiring reformatting or data redistribution, and it isolates individual drive failures so that the pool continues serving data from remaining filesystems.

The filesystem offers policy-driven file placement, selecting which underlying branch stores new files based on configurable rules such as free space thresholds or path existence. It supports copy-on-write behavior by duplicating files on write operations when hard links are broken or cross-device renames occur, and it can automatically relocate files to another branch when a write fails due to insufficient space. Dynamic branch list management allows storage paths to be added, removed, or reordered at runtime without disrupting the pool, and an extended attribute command interface enables runtime configuration changes and action triggering through special attribute keys on a pseudo file.

Beyond its core pooling and placement capabilities, mergerfs provides direct I/O passthrough that bypasses the FUSE layer for near-native read and write performance, along with configurable file caching and page cache management. It includes tools for monitoring filesystem metadata, forwarding change events, and benchmarking read and write performance through null operations. The project also offers user and group ID mapping for container environments, POSIX permission enforcement, and integration with external redundancy tools like SnapRAID for parity protection. Configuration is handled through command-line parameters, configuration files, or runtime attribute manipulation, and the filesystem can be set to mount automatically at boot via fstab or managed as a systemd service.

Features

  • Union Filesystem Mounting - Combines multiple filesystems or directories into a single unified mount point, acting as a proxy to underlying storage.
  • FUSE-Based Filesystem Mounts - Forwards filesystem operations to underlying storage through a FUSE layer, enabling near-native performance and POSIX compatibility.
  • Filesystem - Provides policy-driven file placement selecting which underlying branch stores new files based on configurable rules.
  • Storage Branch Selection Policies - Selects a storage branch for filesystem operations using algorithms that consider space, path existence, or randomness.
  • Incremental Drive Additions - Expands the storage pool by adding new filesystems at any time without reformatting or redistributing existing data.
  • Writable Pooled Views - Provides a live, writable, always-updated filesystem view of the pooled storage.
  • Filesystem Freeze Blocking - Implements synchronous POSIX call behavior that halts all threads when an underlying branch filesystem blocks.
  • Fault Tolerant Storage - Continues serving the pool and remaining data when an individual underlying filesystem becomes unavailable.
  • Storage Pool Managers - Aggregates drives of any size into a single writable pool without reformatting or redistributing data.
  • Runtime Branch List Managers - Dynamically adds, removes, or reorders storage paths in the pool at runtime without disruption.
  • Filesystem Agnostic Compatibilities - Works at the filesystem level, compatible with any physical storage device without special configuration.
  • Storage Path Listings - Provides dynamic branch list management for adding, removing, or reordering storage paths at runtime.
  • Storage Branch Listings - Manages a dynamic list of storage paths that can be added, removed, or reordered at runtime without disrupting the pool.
  • Dynamic List Manipulations - Dynamically adds, removes, prepends, or appends storage branches to the union using simple list manipulation instructions.
  • Direct I/O Access - Bypasses the FUSE layer to perform reads and writes directly on the underlying filesystem for near-native performance.
  • FUSE Layer Bypass for File I/O - Bypasses the FUSE union layer to perform file I/O directly on underlying filesystems for near-native performance.
  • Filesystem Operation Proxies - Passes file I/O directly to underlying filesystems for near-native performance while merging directory listings.
  • Union Mount Configurations - Configures a FUSE-based union mount with command-line options, config files, and runtime controls.
  • Local and Remote Mount Pooling - Unifies locally attached filesystems with remote mounts under a single pool directory.
  • Dynamic Filesystem Attachments and Detachments - Dynamically attaches or detaches filesystem paths from the pool without disrupting existing data.
  • Copy-on-Write Filesystems - Provides copy-on-write behavior by breaking hard links and duplicating files on write operations.
  • Mixed-Capacity Drive Pools - Aggregates drives of any size into a single writable pool without reformatting.
  • Filesystem Failure Isolations - Isolates individual drive failures so the pool continues serving data from remaining filesystems.
  • Pool Failure Isolations - Isolates individual drive failures so the pool continues serving data from remaining filesystems.
  • Automatic Write Relocations - Automatically relocates files to another branch when a write fails due to insufficient space.
  • Minimum Free Space Thresholds - Specifies the minimum available space a branch must have to be considered for new file creation.
  • Direct Underlying Filesystem Accesses - Allows reading and writing files directly on underlying filesystems for independent recovery or inspection.
  • Extended Attribute Branch Manipulations - Dynamically adds, removes, or replaces storage branches in the union by writing to a branch extended attribute.
  • Command-Line Configurations - Sets branch paths and mount options directly in the terminal when starting the union filesystem.
  • Cross-Filesystem Rename Copies - Copies file data and metadata between branches when a rename fails due to cross-device limitations.
  • Union Filesystem Config Files - Defines storage paths and mount point settings in a configuration file using key-value pairs or colon-delimited lists.
  • Container User Identity Mapping - Maps container user and group identifiers to host-level IDs for correct file ownership on the union filesystem.
  • Runtime Configurations - Changes filesystem options and triggers commands at runtime through extended attribute calls on a pseudo file.
  • Storage Branch Constraint Filters - Excludes branches that are read-only, lack free space, or are in a no-create mode before file placement.
  • User Permission Mapping - Passes host-level UID/GID values from user namespaces to the union mount for container permission bridging.
  • Filesystem Operation Categorizations - Groups POSIX filesystem functions into action, create, and search categories for unified policy assignment.
  • Extended File Attributes - Passes through extended attributes, file attributes, and POSIX ACLs to the underlying filesystem.
  • Command Extended Attributes - Ships an extended attribute command interface for runtime configuration changes and action triggering.
  • Path Existence Branch Restrictions - Restricts branch selection to those where the target relative path already exists.
  • Copy-on-Write File Copies - Creates new files that share storage with the original until one is modified, saving disk space.
  • Copy-on-Write File Duplications - Duplicates files on write to preserve separate identities when hard links are broken or cross-device renames occur.
  • Hard Link Break Copies - Implements copy-on-write behavior by breaking hard links and duplicating files on write operations.
  • Hard Link Copy-on-Write - Creates a copy of a hardlinked file before modifying it, preserving the original link and saving space.
  • POSIX Permission Enforcement - Enforces POSIX file permissions by leveraging kernel default_permissions and adjusting process credentials.
  • Kernel-Side Permission Handling - Enforces file permissions using kernel-side checks with root-level UID/GID management for container support.
  • User Namespace Mappings - Translates user and group identifiers between namespaces for correct file ownership in container environments.

Star history

Star history chart for trapexit/mergerfsStar history chart for trapexit/mergerfs

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Mergerfs

These projects share indexed features with Mergerfs. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • gluster/glusterfsgluster avatar

    gluster/glusterfs

    5,191View on GitHub↗

    GlusterFS is a software-defined distributed file system and scale-out storage cluster that aggregates disk resources from multiple servers into a single global namespace. It functions as a unified storage platform, allowing the same underlying data to be exposed through file, block, and object storage interfaces. The system distinguishes itself through a decentralized architecture that uses consistent hashing to distribute files across network nodes without a central metadata server. It ensures data integrity and availability using self-healing replication, quorum-based consistency to prevent

    C
    View on GitHub↗5,191
  • openzfs/zfsopenzfs avatar

    openzfs/zfs

    12,293View on GitHub↗

    ZFS is an enterprise-grade file system and logical volume manager that integrates storage pooling with advanced data protection. It functions as a storage engine that aggregates multiple physical devices into a unified resource pool, allowing for the dynamic allocation of capacity across individual file systems. The system utilizes a transactional, copy-on-write architecture that ensures file system consistency through intent logging and atomic operations. It maintains data integrity by organizing blocks into a hierarchical tree structure, where cryptographic checksums are used to detect and

    Cfile-systemopenzfssystem-software
    View on GitHub↗12,293
  • lxc/incuslxc avatar

    lxc/incus

    4,893View on GitHub↗

    Incus is a unified orchestration platform for managing system containers, OCI application containers, and virtual machines through a single control plane. It brings together cluster infrastructure management, secure multi-tenancy, software-defined networking, and pluggable storage backend orchestration into one cohesive system exposed via a full REST API and command-line interface. What distinguishes Incus is its ability to run multiple instance types side by side—full Linux system containers, OCI application containers, and QEMU virtual machines—all managed with consistent tooling. Networkin

    Gocloudcontainershacktoberfest
    View on GitHub↗4,893
  • lxc/lxdlxc avatar

    lxc/lxd

    5,554View on GitHub↗

    LXD is a unified platform for managing both system containers and virtual machines through a single REST API and command-line interface. It provides a programmatic HTTP interface for controlling the full lifecycle of instances, enabling automation and integration with external tools. The system runs unprivileged containers with per-instance UID/GID mappings, seccomp filters, and AppArmor profiles for kernel-level isolation, while supporting multiple storage backends including directory, Btrfs, LVM, ZFS, Ceph, LINSTOR, and TrueNAS through a unified driver interface. The platform distinguishes

    Go
    View on GitHub↗5,554
Compare all 30 related projects→

Frequently asked questions

What does trapexit/mergerfs do?

mergerfs is a FUSE-based union filesystem that pools multiple independent filesystems or directories into a single unified mount point. It acts as a proxy to underlying storage, forwarding file operations directly to the filesystem for near-native performance while merging directory listings and attribute changes. The project provides a live, read-write pooled view of storage that aggregates drives of any size without requiring reformatting or data redistribution, and it…

What are the main features of trapexit/mergerfs?

The main features of trapexit/mergerfs are: Union Filesystem Mounting, FUSE-Based Filesystem Mounts, Filesystem, Storage Branch Selection Policies, Incremental Drive Additions, Writable Pooled Views, Filesystem Freeze Blocking, Fault Tolerant Storage.

Which projects share features with trapexit/mergerfs?

Projects with overlapping indexed features include: gluster/glusterfs — GlusterFS is a software-defined distributed file system and scale-out storage cluster that aggregates disk resources… openzfs/zfs — ZFS is an enterprise-grade file system and logical volume manager that integrates storage pooling with advanced data… lxc/lxd — LXD is a unified platform for managing both system containers and virtual machines through a single REST API and… lxc/incus — Incus is a unified orchestration platform for managing system containers, OCI application containers, and virtual… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… mviereck/x11docker — x11docker is an OCI container GUI orchestrator and hardware bridge designed to execute graphical applications and full…