OverlayFS
# OverlayFS

Das OverlayFS ist ein vereinigendes oder auch sogenanntes Union-Mount-Dateisystem für Linux. Es verbindet mehrere unabhängige Dateisysteme, indem es ein gedankliches (oder virtuelles) Dateisystem über ein bereits Bestehendes legt. Dadurch ergibt sich eine Verzeichnisstruktur, die alle Dateien und Verzeichnisse der zusammengefassten Dateisysteme enthält. Hauptanwendungsgebiet ist, das Schreiben von Daten auf schreibgeschützten Datenträgern zu ermöglichen (LiveCDs und -DVDs, IoT-Geräte mit limitierten Flash-Speichermöglichkeiten).

## Geschichte

Der Bedarf und die Spezifikation eines Linux-Union-Mount-Dateisystems im Kernel-Modus wurde Ende 2009 festgestellt. Der erste RFC-Patch für OverlayFS wurde von Miklos Szeredi im Jahr 2010 erstellt, der dann in 2011 auch in OpenWrt übernommen wurde.

In die Linux-Hauptentwicklungslinie wurde OverlayFS 2014 in die Kernelversion 3.18 übernommen.

In Version 4.0 kamen dann Verbesserungen hinzu, die notwendig wurden um u. a. den overlay2-Treiber in Docker zu unterstützen.

## Implementierung

Die wichtigsten Mechanismen von OverlayFS beziehen sich auf die Zusammenführung des Verzeichniszugriffs, wenn beide Dateisysteme ein Verzeichnis mit demselben Namen anbieten. Andernfalls präsentiert OverlayFS das Objekt, das von dem einen oder dem anderen System bereitgestellt wird, wobei das „obere“ Dateisystem Vorrang hat. Im Gegensatz zu einigen anderen Overlay-Dateisystemen müssen die von OverlayFS zusammengeführten Verzeichnis-Teilbäume nicht unbedingt von verschiedenen Dateisystemen stammen.

OverlayFS unterstützt Whiteouts und undurchsichtige Verzeichnisse im oberen Dateisystem, um das Löschen von Dateien und Verzeichnissen zu ermöglichen.

OverlayFS unterstützt das Umbenennen von Dateien nicht, ohne eine vollständige Kopie der Datei durchzuführen; das Umbenennen von Verzeichnissen in einem oberen Dateisystem wird auch nur begrenzt unterstützt.

OverlayFS unterstützt nicht das Zusammenführen von Änderungen von einem oberen Dateisystem zu einem unteren Dateisystem.

