dwww Home | Manual pages | Find package

posix_fallocate(3)         Library Functions Manual         posix_fallocate(3)

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'in-
       tervalle commençant à offset et s'étendant sur len octets. Après un ap-
       pel réussi à posix_fallocate(), toute écriture ultérieure dans l'inter-
       valle spécifié est garantie de ne pas échouer à cause d'un manque d'es-
       pace 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 mo-
       difié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 ou-
              vert 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 EIN-
       VAL si len valait 0 ou si offset était inférieur à 0. POSIX.1-2001  in-
       dique  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 er-
       reur 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 fonc-
          tion é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  se-
       cours 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 Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.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.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org>, David Prévot <david@tilapin.org>  et  Grégoire  Scano  <gre-
       goire.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⟩.

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

Generated by dwww version 1.15 on Sat Jun 29 01:44:21 CEST 2024.