Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       readahead - inițiază citirea în avans a fișierului în memoria cache a paginii

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #define _GNU_SOURCE             /* Consultați feature_test_macros(7) */
       #include <fcntl.h>

       ssize_t readahead(int fd, off64_t offset, size_t count);

DESCRIERE

       readahead()  inițiază  citirea  în  avans  „readahead” a unui fișier astfel încât citirile
       ulterioare din acel fișier să  fie  satisfăcute  din  memoria  cache  și  să  nu  blocheze
       operațiile  de  intrare/ieșire  pe  disc  (presupunând că citirea în avans a fost inițiată
       suficient de devreme și că alte activități din sistem nu au golit între timp paginile  din
       memoria cache).

       Argumentul  fd  este  un descriptor de fișier care identifică fișierul care urmează să fie
       citit.  Argumentul offset specifică punctul de plecare de la care trebuie  citite  datele,
       iar count specifică numărul de octeți care trebuie citiți.  In/Ieș se efectuează în pagini
       întregi, astfel încât offset este rotunjit efectiv până la o limită de pagină, iar octeții
       sunt  citiți  până  la  următoarea  limită de pagină mai mare sau egală cu (offset+count).
       readahead() nu citește dincolo de sfârșitul fișierului.  Decalajul de fișier al descrierii
       fișierului  deschis  la  care  se  face  referire  prin  descriptorul  de fișier fd rămâne
       neschimbat.

VALOAREA RETURNATĂ

       În caz de succes, readahead() returnează 0; în caz de eșec, se  returnează  -1,  cu  errno
       configurată pentru a indica eroarea.

ERORI

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

       EINVAL fd nu se referă la un tip de fișier la care se poate aplica readahead().

VERSIUNI

       Apelul  de  sistem  readahead()  a  apărut  în  Linux 2.4.13; suportul glibc a fost oferit
       începând cu glibc 2.3.

STANDARDE

       Apelul de sistem readahead() este specific Linux, iar utilizarea  sa  trebuie  evitată  în
       aplicațiile portabile.

NOTE

       Pe  unele arhitecturi pe 32 de biți, semnătura de apelare pentru acest apel de sistem este
       diferită, din motivele descrise în syscall(2).

ERORI

       readahead() încearcă să programeze citirile în fundal și să se întoarcă imediat.  Cu toate
       acestea, este posibil să se blocheze în timp ce citește metadatele din sistemul de fișiere
       necesare pentru a localiza blocurile solicitate.  Acest  lucru  se  întâmplă  frecvent  cu
       ext[234]  în  cazul fișierelor mari care utilizează blocuri indirecte în loc de „extents”,
       dând impresia că apelul se blochează până când datele solicitate au fost citite.

CONSULTAȚI ȘI

       lseek(2), madvise(2), mmap(2), posix_fadvise(2), read(2)

TRADUCERE

       Traducerea în limba  română  a  acestui  manual  a  fost  creată  de  Remus-Gabriel  Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.