POSIX_FALLOCATE(3)

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 (consultez feature_test_macros(7)) :

posix_fallocate() :
    _XOPEN_SOURCE >= 600 || _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. L'allocation est de len octets à partir de l'adresse offset. Après un appel réussi à posix_fallocate(), les écritures suivantes dans l'intervalle spécifié sont certaines 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.

EINVAL
    offset était inférieur à 0, ou len était inférieur ou égal à 0.

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.

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

VERSIONS
posix_fallocate() est disponible depuis la glibc 2.1.94.

ATTRIBUTS

  Multithreading (voir pthreads(7))
La fonction posix_fallocate() est sûre dans un contexte multithread.

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 était inférieur à 0 ou si offset était inférieur à 0 et peut renvoyer cette erreur si len est égal à 0.

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

COLOPHON
Cette page fait partie de la publication 3.70 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Alain Portal <http://manpagesfr.free.fr/> (2006). Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».