Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       posix_fallocate - alocă spațiu pentru fișiere

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <fcntl.h>

       int posix_fallocate(int fd, off_t offset, off_t len);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       posix_fallocate():
           _POSIX_C_SOURCE >= 200112L

DESCRIERE

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

VALOAREA RETURNATĂ

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

ERORI-IEȘIRE

       EBADF  fd nu este un descriptor de fișier valid sau nu este deschis pentru scriere.

       EFBIG  offset+len depășește dimensiunea maximă a fișierului.

       EINTR  Un semnal a fost captat în timpul execuției.

       EINVAL offset  a  fost  mai  mic  decât  0, sau len a fost mai mic sau egal cu 0, sau sistemul de fișiere
              subiacent nu acceptă operația.

       ENODEV fd nu se referă la un fișier obișnuit.

       ENOSPC Nu mai este suficient spațiu pe dispozitivul care conține fișierul la care se face  referire  prin
              fd (descriptorul de fișier).

       EOPNOTSUPP
              Sistemul  de  fișiere  care  conține  fișierul la care se face referire prin fd nu acceptă această
              operație. Acest cod de eroare poate fi returnat de bibliotecile  C  care  nu  realizează  emulația
              prezentată în secțiunea AVERTISMENTE, cum ar fi musl libc.

       ESPIPE fd se referă la o conductă.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌───────────────────┬───────────────────┬───────────────────────────────────────────────────────────────┐
       │ InterfațăAtributValoare                                                       │
       ├───────────────────┼───────────────────┼───────────────────────────────────────────────────────────────┤
       │ posix_fallocate() │ Siguranța firelor │ MT-Safe (dar citiți secțiunea AVERTISMENTE)                   │
       └───────────────────┴───────────────────┴───────────────────────────────────────────────────────────────┘

STANDARDE

       POSIX.1-2008.

ISTORIC

       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.

AVERTISMENTE

       Î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:

       •  Emulația este ineficientă.

       •  Există o condiție de concurență în care scrierile simultane de la un alt fir sau proces  ar  putea  fi
          suprascrise cu octeți nuli.

       •  Există  o  condiție  de concurență în care creșterile simultane ale dimensiunii fișierelor de către un
          alt fir sau proces ar putea avea ca rezultat un fișier a cărui dimensiune  este  mai  mică  decât  cea
          așteptată.

       •  Dacă fd a fost deschis cu fanioanele O_APPEND sau O_WRONLY, funcția eșuează cu eroarea EBADF.

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

CONSULTAȚI ȘI

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

TRADUCERE

       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.

Pagini de manual de Linux 6.9.1                   16 iunie 2024                               posix_fallocate(3)