fallocate(1) einer Datei Platz im Dateisystem zuweisen oder die Zuweisung

ÜBERSICHT

fallocate [-c|-p|-z] [-o Versatz] -l Länge [-n] Dateiname

fallocate -d [-o Versatz] [-l Länge] Dateiname

BESCHREIBUNG

fallocate wird verwendet, um Blöcke für eine Datei vorzureservieren oder die Reservierung aufzuheben. Wenn das Dateisystem den fallocate-Systemaufruf unterstützt, geschieht dies schnell durch Zuweisung von Blöcken und Markierung dieser Blöcke als nicht initialisiert. Dadurch ist direkter E/A-Zugriff auf die Datenblöcke unnötig. Diese Vorgehensweise ist bedeutend schneller als die Erzeugung der Datei durch Füllen mit Nullen.

Der von fallocate zurückgegebene Exit-Code ist 0 bei Erfolg und 1 bei Fehlschlag.

OPTIONEN

Die Argumente für Länge und Versatz können durch die Binärsuffixe KiB (=1024), MiB (=1024*1024) und so weiter für GiB, TiB, PiB und EiB ergänzt werden, wobei das »iB« nicht erforderlich ist. Zum Beispiel ist »K« gleichbedeutend mit »KiB«. Möglich sind außerdem die Dezimalsuffixe KB (=1000), MB (=1000*1000), GB, PB und EB.

Die Optionen --collapse-range, --dig-holes, --punch-hole und --zero-range schließen sich gegenseitig aus.

-c, --collapse-range
entfernt einen Bereich aus einer Datei, ohne ein »Loch« zu hinterlassen. Der »zusammenzuklappende« Dateibereich beginnt bei Versatz und erstreckt sich über die angegebene Länge in Byte. Nach Abschluss des Vorgangs ist der Inhalt der Datei, der ursprünglich an der Stelle Versatz+Länge stand, nun an der Stelle Versatz und die Datei ist Länge Byte kleiner. Die Option --keep-size kann für die Anwendung von »collapse-range« nicht angegeben werden.

Dies ist seit Linux 3.15 für ext4 (nur für Extent-basierte Dateien) und XFS verfügbar.

-d, --dig-holes
Detect and dig holes. This makes the file sparse in-place, without using extra disk space. The minimum size of the hole depends on filesystem I/O block size (usually 4096 bytes). Also, when using this option, --keep-size is implied. If no range is specified by --offset and --length, then the entire file is analyzed for holes.

Sie können sich diese Option wie das Ergebnis des Befehls »cp --sparse« vorstellen, wobei die Zieldatei den Namen der Ursprungsdatei erhält und kein zusätzlicher Speicherplatz erforderlich ist.

Mit der Option --punch-hole erhalten Sie eine Liste der unterstützten Dateisysteme.

-l, --length Länge
gibt die Länge des Zuweisungsbereiches in Byte an.
-n, --keep-size
verhindert die Änderung der eigentlichen Länge der Datei. Dadurch können tatsächlich auch Blöcke nach dem Dateiende (EOF) zugewiesen werden, die durch Abschneiden entfernt werden können.
-o, --offset Versatz
legt den Anfang des Zuweisungsbereiches in Byte fest.
-p, --punch-hole
löscht eine Zuweisung (d.h. erzeugt ein »Loch«) im Bereich, der bei Versatz beginnt und sich über die angegebene Länge in Bytes erstreckt. Innerhalb des angegebenen Bereiches werden Dateisystemblöcke partiell auf Null gesetzt und ganze Dateisystemblöcke aus der Datei entfernt. Nach erfolgreichem Aufruf geben folgende Aufrufe Nullen aus diesem Bereich zurück. Diese Option darf nicht gleichzeitig mit --zero-range angegeben werden. Außerdem wird in dieser Option --keep-size impliziert.

Dies wird für XFS (seit Linux 2.6.38), ext4 (seit Linux 3.0), Btrfs (seit Linux 3.7) und tmpfs (seit Linux 3.5) unterstützt.

-v, --verbose
aktiviert den ausführlichen Modus.
-z, --zero-range
Zeroes space in the byte range starting at offset and continuing for length bytes. Within the specified range, blocks are preallocated for the regions that span the holes in the file. After a successful call, subsequent reads from this range will return zeroes.

Zeroing is done within the filesystem preferably by converting the range into unwritten extents. This approach means that the specified range will not be physically zeroed out on the device (except for partial blocks at the either end of the range), and I/O is (otherwise) required only to update metadata.

Die Option --keep-size kann angegeben werden, um Änderungen der Länge der Datei zu verhindern.

Dies ist verfügbar seit Linux 3.14 für ext4 (nur für Extent-basierte Dateien) und XFS.

-V, --version
zeigt Versionsinformationen an und beendet das Programm.
-h, --help
zeigt diese Hilfe an und beendet das Programm.

AUTOREN

Eric Sandeen
Karel Zak

VERFÜGBARKEIT

Der Befehl fallocate ist Teil des Pakets util-linux, welches aus dem Linux Kernel-Archiv heruntergeladen werden kann.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <[email protected]> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <[email protected]>.