OverlayFS

Linux filesystem
OverlayFS
Developer(s)Miklos Szeredi, Open Source Community
Full nameOverlay File System
Features
File system
permissions
POSIX
Other
Supported
operating systems
Linux, FreeBSD and NetBSD

In computing, OverlayFS is a union mount filesystem implementation for Linux. It combines multiple different underlying mount points into one, resulting in single directory structure that contains underlying files and sub-directories from all sources. Common applications overlay a read/write partition over a read-only partition, such as with LiveCDs and IoT devices with limited flash memory write cycles.

History

The need and specification of a kernel mode Linux union mount filesystem was identified in late 2009.[1] The initial RFC patchset of OverlayFS was submitted by Miklos Szeredi in 2010.[2] By 2011, OpenWrt had already adopted it for their use.[3]

It was merged into the Linux kernel mainline in 2014, in kernel version 3.18.[4][5] It was improved in version 4.0, bringing improvements necessary for e.g. the overlay2 storage driver in Docker.[6]

While most Live CD linux distributions used Aufs as of November 2016, Slackware used overlayfs for its live CD.[7]

Implementation

The main mechanics of OverlayFS relate to the merging of directory access when both filesystems present a directory for the same name. Otherwise, OverlayFS presents the object, if any, yielded by one or the other, with the "upper" filesystem taking precedence. Unlike some other overlay filesystems, the directory subtrees being merged by OverlayFS do not necessarily have to be from distinct filesystems.[8]

OverlayFS supports whiteouts and opaque directories in the upper filesystem to allow file and directory deletion.[8]

OverlayFS does not support renaming files without performing a full copy-up of the file; however, renaming directories in an upper filesystem has limited support.

OverlayFS does not support merging changes from an upper filesystem to a lower filesystem.

See also

  • Aufs
  • UnionFS, an older union mount project

References

  1. ^ Aurora, Valerie (March 18, 2009). "Unioning file systems: Architecture, features, and design choices". LWN.net. Retrieved 2018-01-17.
  2. ^ Edge, Jake (September 1, 2010). "Another union filesystem approach". LWN.net. Retrieved 2018-01-17.
  3. ^ Corbet, Jonathan (June 15, 2011). "Debating overlayfs". LWN.net. Retrieved 2018-01-17.
  4. ^ "OverlayFS commit to Linux". GitHub.
  5. ^ "OverlayFS Proposed For The Linux 3.18 Kernel".
  6. ^ "Select a storage driver - Docker". archive.is. 2016-12-06. Archived from the original on 2016-12-06. Retrieved 2017-06-05.{{cite news}}: CS1 maint: bot: original URL status unknown (link)
  7. ^ "slackware:liveslak - SlackDocs". docs.slackware.com. Retrieved 2017-06-05.
  8. ^ a b "OverlayFS documentation". kernel.org.

External links

  • OverlayFS documentation
  • v
  • t
  • e
File systems
Disk and
non-rotating
Optical disc
Flash memory and SSD
host-side wear leveling
Distributed parallel
NASSpecialized
Pseudo
Encrypted
TypesFeatures
Access control
InterfacesListsLayouts
  • v
  • t
  • e
Linux kernel
Controversies
Distributions
Organizations
Adoption
Media
Professional related certifications
  • icon Linux portal
  •  Free and open-source software portal
  • Category
  • v
  • t
  • e
Organization
Kernel
Support
Technical
Debugging
Startup
ABIs
APIs
Kernel
System Call
Interface
In-kernel
Userspace
Daemons,
File systems
Wrapper
libraries
Components
Variants
Virtualization
Adoption
Range
of use
Adopters
  • icon Linux portal
  •  Free and open-source software portal
  • Category