Provided by: manpages-fr-dev_4.21.0-2_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.

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

STANDARDS

       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 at‐
          tendue.

       -  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) lors‐
       qu'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  <tvi‐
       gnaud@mandriva.com>,  François  Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fe‐
       vrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau  <jcristau@de‐
       bian.org>,   Thomas   Huriaux   <thomas.huriaux@gmail.com>,  Nicolas  François  <nicolas.francois@centra‐
       liens.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.sca‐
       no@malloc.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 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 à  de‐
       bian-l10n-french@lists.debian.org.

Pages du manuel de Linux 6.03                    5 février 2023                               posix_fallocate(3)