Provided by: manpages-fr-dev_4.23.1-1_all bug

NOM

       posix_fallocate - Allouer de l'espace pour un fichier

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <fcntl.h>

       int posix_fallocate(int fd, off_t offset, off_t len);

   Exigences de macros de test de fonctionnalités pour la glibc (consulter
   feature_test_macros(7)) :

       posix_fallocate() :
           _POSIX_C_SOURCE >= 200112L

DESCRIPTION

       La fonction posix_fallocate() assure l'allocation d'espace disque pour le fichier
       référencé par le descripteur fd pour les octets dans l'intervalle commençant à offset et
       s'étendant sur len octets. Après un appel réussi à posix_fallocate(), toute écriture
       ultérieure dans l'intervalle spécifié est garantie de ne pas échouer à cause d'un manque
       d'espace disque.

       Si la taille du fichier est inférieure à offset+len, le fichier est agrandi à cette
       taille ; autrement, la taille du fichier n'est pas modifiée.

VALEUR RENVOYÉE

       posix_fallocate() renvoie 0 si elle réussit et un numéro d'erreur si elle échoue. Notez
       que errno n'est pas écrite.

ERREURS

       EBADF  fd n'est pas un descripteur de fichier valable ou n'est pas ouvert en écriture.

       EFBIG  offset+len dépasse la taille maximale du fichier.

       EINTR  Un signal a été capturé pendant l'exécution.

       EINVAL offset était inférieur à 0, len était inférieur ou égal à 0 ou le système de
              fichiers sous-jacent ne prend par en charge l'opération.

       ENODEV fd ne fait pas référence à un fichier régulier.

       ENOSPC Il n'y a pas suffisamment d'espace disponible sur le périphérique où se trouve le
              fichier référencé par fd.

       EOPNOTSUPP
              Le système de fichiers contenant le fichier référencé par fd ne prend pas en charge
              cette opération. Ce code d'erreur peut être retourné par des bibliothèques C, comme
              musl libc, n'effectuant pas l'émulation expliquée dans les NOTES.

       ESPIPE fd fait référence à un tube.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌──────────────────┬──────────────────────┬───────────────────────────────────────────────┐
       │InterfaceAttributValeur                                        │
       ├──────────────────┼──────────────────────┼───────────────────────────────────────────────┤
       │posix_fallocate() │ Sécurité des threads │ MT-Safe (mais consultez les NOTES)            │
       └──────────────────┴──────────────────────┴───────────────────────────────────────────────┘

STANDARDS

       POSIX.1-2008.

HISTORIQUE

       glibc 2.1.94. POSIX.1-2001.

       POSIX.1-2008 indique qu'une implémentation doit renvoyer l'erreur EINVAL si len valait 0
       ou si offset était inférieur à 0. POSIX.1-2001 indique qu'une implémentation doit renvoyer
       l'erreur EINVAL si len est inférieur à 0 ou si offset est inférieur à 0 et peut renvoyer
       cette erreur si len est égal à 0.

AVERTISSEMENTS

       Dans l'implémentation de la glibc, posix_fallocate() est implémentée avec un appel à
       fallocate(2) qui est MT-safe. Si le système de fichiers sous-jacent ne prend pas
       fallocate(2) en charge, alors l'opération est émulée avec les réserves suivantes :

       -  L'émulation n'est pas efficace.

       -  Il y a une situation de compétition dans laquelle des écritures concurrentes depuis un
          autre fil d'exécution ou processus peuvent être réécrites avec des octets NULL.

       -  Il y a une situation de compétition dans laquelle l'augmentation de la taille d'un
          fichier par un autre fil d'exécution ou processus peut engendrer un fichier dont la
          taille est inférieure à celle attendue.

       -  Si fd a été ouvert avec les attributs O_APPEND ou O_WRONLY, la fonction échoue avec
          l'erreur EBADF.

       L'émulation n'est en général pas MT-Safe. Sur Linux, les applications peuvent utiliser
       fallocate(2) lorsqu'elles ne peuvent tolérer les réserves venant de l'émulation. En
       général, cela n'est recommandé que si l'application souhaite terminer l'opération si
       EOPNOTSUPP est retourné. Autrement, l'application doit elle-même implémenter une méthode
       de secours avec les mêmes problèmes que ceux fournis par la glibc.

VOIR AUSSI

       fallocate(1), fallocate(2), lseek(2), posix_fadvise(2)

TRADUCTION

       La traduction française de cette page de manuel a été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-
       luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Grégoire Scano
       <gregoire.scano@malloc.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General
       Public License version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.