Scroll to navigation

FALLOCATE(1) Commandes de lutilisateur FALLOCATE(1)

NOM

fallocate - Réserver ou rendre de l'espace pour un fichier

SYNOPSIS

fallocate [-c|-p|-z] [-o offset] -l length [-n] filename

fallocate -d [-o offset] [-l length] filename

fallocate -x [-o offset] -l length filename

DESCRIPTION

fallocate is used to manipulate the allocated disk space for a file, either to deallocate or preallocate it. For filesystems which support the fallocate(2) system call, preallocation is done quickly by allocating blocks and marking them as uninitialized, requiring no IO to the data blocks. This is much faster than creating a file by filling it with zeroes.

L’état de sortie renvoyé par fallocate est 0 en cas de réussite et 1 en cas d’échec.

OPTIONS

Les arguments taille et position peuvent être suivis des suffixes multiplicatifs KiB=1024, MiB=1024*1024, etc., pour GiB, TiB, PiB, EiB, ZiB et YiB (la partie « iB » est facultative, par exemple « K » est identique à « KiB ») ou des suffixes KB=1000, MB=1000*1000, etc., pour GB, TB, PB, EB, ZB et YB.

Les options --collapse-range, --dig-holes, --punch-hole et --zero-range s’excluent mutuellement.

-c, --collapse-range

Supprimer un intervalle d’octets d’un fichier, sans laisser de trou. L’intervalle d’octets à supprimer commence à position et continue pendant taille octets. À la fin de l’opération, le contenu du fichier commençant à position+taille sera ajouté à la position et le fichier sera plus petit de taille octets. L’option --keep-size ne peut pas être utilisée pour une opération de suppression d’intervalle.

Disponible depuis Linux 3.15 pour ext4 (seulement pour les fichiers avec extension de domaine ou « extent ») et XFS.

A filesystem may place limitations on the granularity of the operation, in order to ensure efficient implementation. Typically, offset and length must be a multiple of the filesystem logical block size, which varies according to the filesystem type and configuration. If a filesystem has such a requirement, the operation will fail with the error EINVAL if this requirement is violated.

-d, --dig-holes

Détecter et creuser des trous. Cela rassemble les fichiers creux, sans utiliser d’espace disque supplémentaire. La taille minimale du trou dépend de la taille de bloc d’entrée et sortie du système de fichiers (4096 octets en général). De plus, en utilisant cette option, --keep-size est implicite. Si aucun intervalle n’est indiqué par --offset et --length, le fichier entier est analysé pour les trous.

Cette option peut être vue comme faire un « cp --sparse » puis renommer le fichier de destination comme le fichier original, sans avoir besoin d’espace disque supplémentaire.

Consultez --punch-hole pour une liste des systèmes de fichiers pris en charge.

-i, --insert-range

Insérer un trou de taille taille octets à partir de la position, déplaçant les données existantes.

-l, --length taille

Indiquer la taille de l’intervalle, en octets.

-n, --keep-size

Ne pas modifier la taille apparente du fichier. Des blocs pourraient être alloués après la fin du fichier, ils peuvent être enlevés avec truncate.

-o, --offset position

Indiquer la position de début de l’intervalle, en octets.

-p, --punch-hole

Désallouer l’espace (c’est-à-dire créer un trou) dans l’intervalle d’octets commençant à position et continuant pendant taille octets. Dans l’espace indiqué, les blocs partiels de systèmes de fichiers sont mis à zéro et les blocs complets du système de fichiers sont retirés du fichier. Après un appel réussi, les lectures suivantes dans cet intervalle renverront des zéros. Cette option peut ne pas être indiquée en même temps que l’option --zero-range. De plus, lors de l’utilisation de cette option, --keep-size est implicite.

Pris en charge pour XFS (depuis Linux 2.6.38), ext4 (depuis Linux 3.0), Btrfs (depuis Linux 3.7), tmpfs (depuis Linux 3.5) et gfs2 (depuis Linux 4.16).

-v, --verbose

Activer le mode verbeux.

-x, --posix

Activer le mode d’opération POSIX. Dans ce mode, l’opération d’allocation se termine toujours mais peut prendre plus de temps si l’allocation rapide n’est pas prise en charge par le système de fichiers sous-jacent.

-z, --zero-range

Initialiser l’intervalle d’octets commençant à position et continuant pendant taille octets. Dans l’espace indiqué, les blocs sont préalloués pour les zones qui couvrent les trous du fichier. Après un appel réussi, les lectures suivantes dans cet intervalle renverront des zéros.

L’initialisation est réalisée dans le système de fichiers de préférence en convertissant l’intervalle en « extents » non écrits. Cette approche signifie que l’intervalle indiqué ne sera pas physiquement initialisé sur le périphérique (à part les blocs partiels aux extrémités de l’intervalle) et qu’une entrée ou sortie n’est (sinon) nécessaire que pour mettre à jour les métadonnées.

L’option --keep-size peut être indiquée pour empêcher la modification de taille du fichier.

Disponible depuis Linux 3.14 pour ext4 (seulement pour les fichiers avec extension de domaine ou « extent ») et XFS.

-h, --help

Afficher l’aide-mémoire puis quitter.

-V, --version

Afficher le numéro de version et quitter.

AUTEURS

Eric Sandeen <sandeen@redhat.com>, Karel Zak <kzak@redhat.com>

VOIR AUSSI

truncate(1), fallocate(2), posix_fallocate(3)

SIGNALER DES BOGUES

Pour signaler un bogue, utilisez le gestionnaire de bogues sur <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITÉ

La commande fallocate fait partie du paquet util-linux, elle est disponible sur l’archive du noyau Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2024-04-26 util-linux 2.40