Man page - posix_fallocate(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

posix_fallocate

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
STANDARDS
HISTORIQUE
AVERTISSEMENTS
VOIR AUSSI
TRADUCTION

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

ESPIPE

fd fait référence à un tube.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3892931-1.png

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 .