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

Pages du manuel de Linux 6.8                       2 mai 2024                                 posix_fallocate(3)