| posix_fallocate(3) | Library Functions Manual | posix_fallocate(3) |
posix_fallocate - alocă spațiu pentru fișiere
Biblioteca C standard (libc, -lc)
#include <fcntl.h>
int posix_fallocate(int fd, off_t offset, off_t len);
posix_fallocate():
_POSIX_C_SOURCE >= 200112L
Funcția posix_fallocate() asigură alocarea spațiului pe disc pentru fișierul la care face referire descriptorul de fișier fd pentru octeții din intervalul care începe la offset și continuă pentru len octeți. După un apel reușit la posix_fallocate(), se garantează că scrierile ulterioare pe octeți din intervalul specificat nu vor eșua din cauza lipsei de spațiu pe disc.
Dacă dimensiunea fișierului este mai mică decât offset+len, atunci fișierul este mărit la această dimensiune; în caz contrar, dimensiunea fișierului este lăsată neschimbată.
posix_fallocate() returnează zero în caz de succes sau un număr de eroare în caz de eșec. Rețineți că errno nu este definită.
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
| Interfață | Atribut | Valoare |
| posix_fallocate() | Siguranța firelor | MT-Safe (dar citiți secțiunea AVERTISMENTE) |
POSIX.1-2008.
glibc 2.1.94. POSIX.1-2001
POSIX.1-2008 spune că o implementare trebuie să dea eroarea EINVAL dacă len a fost 0, sau offset a fost mai mic decât 0. POSIX.1-2001 spune că o implementare trebuie să dea eroarea EINVAL dacă len este mai mic decât 0, sau offset a fost mai mic decât 0, și poate să dea eroarea dacă len este egal cu zero.
În implementarea glibc, posix_fallocate() este implementat utilizând apelul de sistem fallocate(2), care este sigur pentru MT. În cazul în care sistemul de fișiere subiacent nu acceptă fallocate(2), atunci operația este emulată cu următoarele avertismente:
În general, emulația nu este sigură pentru MT. În Linux, aplicațiile pot utiliza fallocate(2) dacă nu pot tolera avertismentele emulației. În general, acest lucru este recomandat numai dacă aplicația intenționează să încheie operația în cazul în care se returnează EOPNOTSUPP, altfel aplicația însăși va trebui să implementeze o soluție de rezervă cu aceleași probleme ca și emulația furnizată de glibc.
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
| 16 iunie 2024 | Pagini de manual de Linux 6.9.1 |