Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       posix_fallocate – Allouer de l'espace pour un fichier

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.

VERSIONS

       posix_fallocate() est disponible depuis la version 2.1.94 de la glibc.

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)            │
       └──────────────────┴──────────────────────┴───────────────────────────────────────────────┘

CONFORMITÉ

       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.

NOTES

       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)

COLOPHON

       Cette  page  fait partie de la publication 5.13 du projet man-pages Linux. Une description
       du projet et des instructions pour signaler des anomalies et la dernière version de  cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

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⟩.