EXT4(5)

NUME
ext2 - al doilea sistem de fișiere extins
ext3 - al treilea sistem de fișiere extins
ext4 - al patrulea sistem de fișiere extins

DESCRIERE
Al doilea, al treilea și al patrulea sistem de fișiere extins, sau ext2, ext3 și ext4, așa cum sunt cunoscute în mod obișnuit, sunt sisteme de fișiere Linux care au fost în mod istoric sistemul de fișiere implicit pentru multe distribuții Linux. Acestea sunt sisteme de fișiere de uz general care au fost concepute pentru extensibilitate și compatibilitate retroactivă. În special, sistemele de fișiere destinate anterior utilizării cu sistemele de fișiere ext2 și ext3 pot fi montate utilizând controlorul sistemului de fișiere ext4 și, într-adevăr, în multe distribuții Linux moderne, controlorul sistemului de fișiere ext4 a fost configurat pentru a gestiona cererile de montare pentru sistemele de fișiere ext2 și ext3.

CARACTERISTICILE SISTEMULUI DE FIȘIERE
Un sistem de fișiere formatat pentru ext2, ext3 sau ext4 poate avea activată o anumită colecție din următoarele fanioane de caracteristici ale sistemului de fișiere. Unele dintre aceste caracteristici nu sunt acceptate de toate implementările controlorilor sistemelor de fișiere ext2, ext3 și ext4, în funcție de versiunea nucleului Linux utilizată. Pe alte sisteme de operare, cum ar fi GNU/HURD sau FreeBSD, numai un set foarte restrictiv de caracteristici ale sistemului de fișiere poate fi acceptat în implementările lor de ext2.

64bit
    Activează sistemul de fișiere pentru a fi mai mare de 2^32 blocuri. Această caracteristică este stabilită automat, în funcție de necesități, dar poate fi utilă specificarea explicită a acestei caracteristici dacă sistemul de fișiere ar putea avea nevoie să fie redimensionat mai mult de 2^32 de blocuri, chiar dacă era mai mic decât acest prag atunci când a fost creat inițial. Rețineți că unele nuclee mai vechi și versiuni mai vechi ale e2fsprogs nu vor accepta sisteme de fișiere cu această caracteristică ext4 activată.

bigalloc
    Această caracteristică ext4 permite alocarea de blocuri grupate, astfel încât unitatea de alocare este o putere a numărului doi de blocuri. Cu alte cuvinte, fiecare bit din ceea ce era cunoscut în mod tradițional ca bitmap de alocare a blocurilor indică acum dacă un cluster este utilizat sau nu, un cluster fiind compus în mod implicit din 16 blocuri. Această caracteristică poate reduce timpul petrecut pentru a face alocarea blocurilor și aduce o fragmentare mai mică, în special pentru fișierele mari. Dimensiunea poate fi specificată utilizând opțiunea mke2fs -C.

    Avertisment: Funcția bigalloc este încă în curs de dezvoltare și este posibil să nu fie pe deplin compatibilă cu nucleul dumneavoastră sau să aibă diverse erori. Vă rugăm să consultați pagina web http://ext4.wiki.kernel.org/index.php/Bigalloc pentru detalii. Poate intra în conflict cu alocarea întârziată (consultați opțiunea de montare nodelalloc).

    Această caracteristică necesită ca caracteristica extent să fie activată.

casefold
    Această caracteristică ext4 oferă suport pentru codificarea caracterelor la nivelul sistemului de fișiere pentru directoarele cu marcajul casefold (+F) activat. Această caracteristică păstrează numele pe disc, dar permite aplicațiilor să caute un fișier în sistemul de fișiere utilizând o versiune echivalentă de codificare a numelui fișierului.

dir_index
    Utilizează b-trees cu tabele de sume de control (hashed b-trees, în engleză) pentru a accelera căutarea numelor în directoare mari. Această caracteristică este acceptată de sistemele de fișiere ext3 și ext4 și este ignorată de sistemele de fișiere ext2.

dir_nlink
    În mod normal, ext4 permite ca un nod-i să nu aibă mai mult de 65.000 de legături dure. Acest lucru se aplică atât fișierelor obișnuite, cât și directoarelor, ceea ce înseamnă că nu pot exista mai mult de 64 998 de subdirectoare într-un director (deoarece fiecare dintre intrările „.” și „..”, precum și intrarea de director pentru directorul din directorul părinte contează ca o legătură dură). Această caracteristică ridică această limită făcând ca ext4 să utilizeze un număr de legături de 1 pentru a indica faptul că nu se cunoaște numărul de legături dure către un director atunci când numărul de legături ar putea depăși limita maximă a numărului.

ea_inode
    În mod normal, atributele extinse ale unui fișier și metadatele asociate trebuie să încapă în nodul-i sau în blocul de atribute extinse asociat nodului-i. Această caracteristică permite ca valoarea fiecărui atribut extins să fie plasată în blocurile de date ale unui nod-i separat, dacă este necesar, crescând astfel limita privind dimensiunea și numărul de atribute extinse per fișier.

encrypt
    Activează suportul pentru criptarea la nivel de sistem de fișiere a blocurilor de date și a numelor de fișiere. Metadatele din nodurile-i (marcajele de timp, dimensiunea fișierului, utilizatorul/grupul proprietar etc.) nu sunt criptate.

    Această caracteristică este foarte utilă pe sistemele de fișiere cu mai mulți utilizatori sau în cazul în care nu toate fișierele trebuie criptate. În multe cazuri de utilizare, în special pe sistemele cu un singur utilizator, criptarea la nivelul dispozitivului bloc folosind dm-crypt poate oferi o securitate mult mai bună.

ext_attr
    Această caracteristică permite utilizarea atributelor extinse. Această caracteristică este acceptată de ext2, ext3 și ext4.

extent
    Această caracteristică ext4 permite ca cartografierea numerelor de bloc logic pentru un anumit nod-i la blocurile fizice de pe dispozitivul de stocare să fie stocată utilizând un arbore extent, care este o structură de date mai eficientă decât schema tradițională de bloc indirect utilizată de sistemele de fișiere ext2 și ext3. Utilizarea arborelui extent reduce supraîncărcarea blocului de metadate, îmbunătățește performanța sistemului de fișiere și reduce necesitatea de a rula e2fsck(8) pe sistemul de fișiere. Notă: atât extent, cât și extents sunt acceptate ca nume valide pentru această caracteristică din motive de compatibilitate istorică/înapoi.

extra_isize
    Această caracteristică ext4 rezervă o anumită cantitate de spațiu în fiecare nod-i pentru metadatele extinse, cum ar fi marcajele temporale de nanosecunde și ora creării fișierului, chiar dacă nucleul actual nu are nevoie în prezent să rezerve atât de mult spațiu. Fără această caracteristică, nucleul va rezerva cantitatea de spațiu pentru caracteristicile de care are nevoie în prezent, iar restul poate fi consumat de atributele extinse. Pentru ca această caracteristică să fie utilă, dimensiunea nodurilor-i trebuie să fie de 256 de octeți sau mai mare.

filetype
    Această caracteristică permite stocarea informațiilor despre tipul de fișier în intrările din directoare. Această caracteristică este acceptată de ext2, ext3 și ext4.

flex_bg
    Această caracteristică ext4 permite ca metadatele pentru fiecare grup de blocuri (hărți de biți de alocare și tabele de noduri-i) să fie plasate oriunde pe suportul de stocare. În plus, mke2fs va plasa metadatele pe grup de blocuri împreună începând cu primul grup de blocuri din fiecare „flex_bg group”. Dimensiunea grupului flex_bg poate fi specificată utilizând opțiunea -G.

has_journal
    Creează un jurnal pentru a asigura coerența sistemului de fișiere chiar și în cazul închiderilor necurate. Activarea caracteristicii sistemului de fișiere este echivalentă cu utilizarea opțiunii -j cu mke2fs sau tune2fs. Această caracteristică este acceptată de ext3 și ext4 și ignorată de controlorul sistemului de fișiere ext2.

huge_file
    Această caracteristică ext4 permite fișierelor să aibă o dimensiune mai mare de 2 teraocteți.

inline_data
    Permite stocarea datelor în nodurile-i și în zona de atribute extinsă.

journal_dev
    Această caracteristică este activată pe superblocul găsit pe un dispozitiv de jurnal extern. Dimensiunea blocului pentru jurnalul extern trebuie să fie aceeași cu cea a sistemului de fișiere care îl utilizează.

    Dispozitivul de jurnal extern poate fi utilizat de un sistem de fișiere prin specificarea opțiunii -J device=<dispozitiv-extern> la mke2fs(8) sau tune2fs8).

large_dir
    Această caracteristică mărește limita numărului de fișiere per director prin creșterea dimensiunii maxime a directoarelor și, în cazul directoarelor b-tree de sume de control (a se vedea dir_index), a înălțimii maxime a arborelui b-tree de sume de control utilizat pentru stocarea intrărilor în directoare.

large_file
    Acest fanion de caracteristică este activat automat de nucleele moderne atunci când este creat un fișier mai mare de 2 gigaocteți. Nucleele foarte vechi nu puteau gestiona fișiere de mari dimensiuni, astfel încât acest fanion de caracteristică a fost utilizat pentru a interzice acestor nuclee să monteze sisteme de fișiere pe care nu le puteau înțelege.

metadata_csum
    Această caracteristică ext4 permite verificarea sumelor de control ale metadatelor. Această caracteristică stochează sumele de control pentru toate metadatele sistemului de fișiere (superblocul, blocurile descriptorilor de grup, hărțile de biți ale nodurilor-i și ale blocurilor, directoarele și blocurile arborelui extent). Algoritmul sumei de control utilizat pentru blocurile de metadate este diferit de cel utilizat pentru descriptorii de grup cu funcția uninit_bg. Aceste două caracteristici sunt incompatibile și metadata_csum va fi utilizat preferențial în locul uninit_bg.

metadata_csum_seed
    Această caracteristică permite sistemului de fișiere să stocheze sămânța sumei de control a metadatelor în super-bloc, ceea ce permite administratorului să schimbe UUID-ul unui sistem de fișiere utilizând caracteristica metadata_csum în timp ce acesta este montat.

meta_bg
    Această caracteristică ext4 permite redimensionarea „la cald” a sistemelor de fișiere fără a fi necesar să se rezerve în mod explicit spațiu pentru creșterea dimensiunii descriptorilor grupului de blocuri. Această schemă este, de asemenea, utilizată pentru redimensionarea sistemelor de fișiere care sunt mai mari de 2^32 blocuri. Nu se recomandă ca această caracteristică să fie activată atunci când se creează un sistem de fișiere, deoarece această metodă alternativă de stocare a descriptorilor grupului de blocuri va încetini timpul necesar pentru montarea sistemului de fișiere, iar nucleele mai noi pot activa automat această caracteristică, dacă este necesar, atunci când se face o redimensionare „la cald” și nu mai este disponibil spațiu rezervat în nodul-i de redimensionare.

mmp
    Această caracteristică ext4 oferă protecție împotriva montării multiple (MMP). MMP ajută la protejarea sistemului de fișiere de montarea multiplă și este utilă în mediile de stocare partajată.

orphan_file
    Această caracteristică ext4 rezolvă un potențial blocaj de scalabilitate pentru sarcinile de lucru care efectuează un număr mare de trunchieri sau extensii de fișiere în paralel. Este acceptată de nucleele Linux începând cu versiunea 5.15 și de e2fsprogs începând cu versiunea 1.47.0.

project
    Această caracteristică ext4 oferă suport pentru cote de proiect. Cu această caracteristică, ID-ul proiectului din nodul-i va fi gestionat atunci când sistemul de fișiere este montat.

quota
    Creează noduri-i de cotă (nodul-i nr.3 pentru userquota și nodul-i nr.4 pentru groupquota) și le definește în super-bloc. Cu această caracteristică, cotele vor fi activate automat atunci când sistemul de fișiere este montat.

    Face ca fișierele de cote (de exemplu, user.quota și group.quota, care existau în modelul de cote mai vechi) să fie noduri-i ascunse.

resize_inode
    Această caracteristică a sistemului de fișiere indică faptul că spațiul a fost rezervat astfel încât tabelul descriptor al grupului de blocuri să poată fi extins în timpul redimensionării unui sistem de fișiere montat. Operația de redimensionare „la cald” este efectuată de nucleu, declanșată de resize2fs(8). În mod implicit, mke2fs va încerca să rezerve suficient spațiu pentru ca sistemul de fișiere să poată crește până la de 1024 de ori dimensiunea sa inițială. Acest lucru poate fi schimbat utilizând opțiunea extinsă resize.

    Această caracteristică necesită ca caracteristicile sparse_super sau sparse_super2 să fie activate.

sparse_super
    Această caracteristică a sistemului de fișiere este activată pe toate sistemele de fișiere moderne ext2, ext3 și ext4. Aceasta indică faptul că copiile de rezervă ale descriptorilor super-blocurilor și grupurilor de blocuri sunt prezente numai în câteva grupuri de blocuri, nu în toate.

sparse_super2
    Această caracteristică indică faptul că vor exista doar cel mult două superblocuri de rezervă și descriptori de grup de blocuri. Grupurile de blocuri utilizate pentru stocarea super-blocului (super-blocurilor) de rezervă și a descriptorului (descriptorilor) de grup de blocuri sunt stocate în super-bloc, dar, de obicei, unul va fi localizat la începutul grupului de blocuri nr.1, iar celălalt în ultimul grup de blocuri din sistemul de fișiere. Această caracteristică este în esență o versiune mai extremă a sparse_super și este concepută pentru a permite unui procent mult mai mare din disc să aibă blocuri contigue disponibile pentru fișierele de date.

stable_inodes
    Marchează numerele de noduri-i și UUID-ul sistemului de fișiere ca fiind stabile. resize2fs(8) nu va permite micșorarea unui sistem de fișiere cu această caracteristică și nici tune2fs(8) nu va permite modificarea UUID-ului acestuia. Această caracteristică permite utilizarea unor configurații specializate de criptare care utilizează numerele de noduri-i și UUID-ul. Rețineți că funcția encrypt trebuie să fie activată separat. stable_inodes este o caracteristică „compat”, astfel încât nucleele vechi o vor permite.

uninit_bg
    Această caracteristică a sistemului de fișiere ext4 indică faptul că descriptorii grupurilor de blocuri vor fi protejați cu ajutorul sumelor de control, ceea ce face ca mke2fs(8) să creeze în siguranță un sistem de fișiere fără a inițializa toate grupurile de blocuri. Nucleul va păstra o evidență riguroasă a nodurilor-i neutilizate și va inițializa în mod leneș tabelele de noduri-i și blocurile. Această caracteristică accelerează timpul de verificare a sistemului de fișiere utilizând e2fsck(8) i, de asemenea, accelerează timpul necesar pentru ca mke2fs(8) să creeze sistemul de fișiere.

verity
    Permite suportul pentru fișierele protejate de verity. Fișierele verity sunt numai-pentru-citire, iar datele lor sunt verificate în mod transparent în raport cu un arbore Merkle ascuns după sfârșitul fișierului. Utilizând suma de control a rădăcinii arborelui Merkle, un fișier verity poate fi autentificat eficient, independent de dimensiunea fișierului.

    Această caracteristică este foarte utilă pentru autentificarea fișierelor importante numai-pentru-citire pe sisteme de fișiere numai-pentru-citire. Dacă sistemul de fișiere în sine este numai-pentru-citire, atunci utilizarea dm-verity pentru autentificarea întregului dispozitiv bloc poate oferi o securitate mult mai bună.

OPȚIUNI DE MONTARE
Această secțiune descrie opțiunile de montare care sunt specifice pentru ext2, ext3 și ext4. Pot fi utilizate și alte opțiuni generice de montare; consultați mount(8) pentru detalii.

Opțiuni de montare pentru ext2
Sistemul de fișiere „ext2” este sistemul de fișiere Linux standard. Începând cu Linux 2.5.46, pentru majoritatea opțiunilor de montare, valoarea implicită este determinată de superblocul sistemului de fișiere. Stabiliți-le cu tune2fs(8).

acl|noacl
    Acceptă (sau nu) listele de control al accesului POSIX. Consultați pagina de manual acl(5).

bsddf|minixdf
    Definește comportamentul pentru apelul de sistem statfs. Comportamentul minixdf este de a returna în câmpul f_blocks numărul total de blocuri ale sistemului de fișiere, în timp ce comportamentul bsddf (care este cel implicit) este de a scădea blocurile utilizate de sistemul de fișiere ext2 și care nu sunt disponibile pentru stocarea fișierelor. Astfel

    % mount /k -o minixdf; df /k; umount /k
    Sistem de fișiere | 1024-blocks | Utilizat | Disponibil | Capacitate | Montat pe
    /dev/sda6 | 2630655 | 86954 | 2412169 | 3% | /k

    % mount /k -o bsddf; df /k; umount /k
    Sistem de fișiere | 1024-blocks | Utilizat | Disponibil | Capacitate | Montat pe
    /dev/sda6 | 2543714 | 13 | 2412169 | 0% | /k

    (Rețineți că acest exemplu arată că se pot adăuga opțiuni de linie de comandă la opțiunile date în /etc/fstab.)

check=none sau nocheck
    Nu se efectuează nicio verificare la momentul montării. Aceasta este valoarea implicită. Acest lucru este rapid. Este înțelept să se invoce e2fsck(8) din când în când, de exemplu la pornire. Comportamentul diferit de cel implicit nu este acceptat (opțiunile check=normal și check=strict au fost eliminate). Rețineți că aceste opțiuni de montare nu trebuie să fie acceptate dacă este utilizat controlorul de nucleu ext4 pentru sistemele de fișiere ext2 și ext3.

debug
    Afișează informații de depanare la fiecare (re)montare.

errors={continue|remount-ro|panic}
    Definește comportamentul atunci când este întâlnită o eroare. (Fie să ignore erorile și să marcheze sistemul de fișiere ca fiind eronat și să continue, fie să remonteze sistemul de fișiere numai pentru citire, fie să intre în panică și să oprească sistemul). Valoarea implicită este stabilită în super-blocul sistemului de fișiere și poate fi modificată utilizând tune2fs(8).

grpid|bsdgroups și nogrpid|sysvgroups
    Aceste opțiuni definesc ce id de grup primește un fișier nou creat. Atunci când grpid este activat, acesta preia id-ul de grup al directorului în care este creat; altfel (implicit) preia fsgid-ul procesului curent, cu excepția cazului în care directorul are bitul setgid activat, caz în care preia gid-ul de la directorul părinte și, de asemenea, primește bitul setgid activat dacă este un director.

grpquota|noquota|quota|usrquota
    Opțiunea de montare usrquota (la fel ca quota) activează suportul pentru cote de utilizator pe sistemul de fișiere. grpquota activează suportul pentru cote de grup. Aveți nevoie de instrumentele pentru cote pentru a activa și gestiona sistemul de cote.

nouid32
    Dezactivează UID-urile și GID-urile pe 32 de biți. Acest lucru se face pentru interoperabilitatea cu nucleele mai vechi care stochează și așteaptă doar valori pe 16 biți.

oldalloc sau orlov
    Utilizează alocatorul vechi sau alocatorul Orlov pentru nodurile-i noi. Orlov este implicit.

resgid=n și resuid=n
    Sistemul de fișiere ext2 rezervă un anumit procent din spațiul disponibil (implicit 5%, consultați mke2fs(8) și tune2fs(8)). Aceste opțiuni determină cine poate utiliza blocurile rezervate; (în general: oricine are uid-ul specificat sau aparține grupului specificat).

sb=n
    În loc să se utilizeze super-blocul normal, se utilizează un super-bloc alternativ specificat de n. Această opțiune este utilizată în mod normal atunci când super-blocul primar a fost corupt. Locația super-blocurilor de rezervă depinde de dimensiunea blocurilor sistemului de fișiere, de numărul de blocuri pe grup și de caracteristici precum sparse_super.

    Super-blocurile de rezervă suplimentare pot fi determinate prin utilizarea programului mke2fs cu opțiunea -n pentru a afișa unde există super-blocurile, presupunând că mke2fs este furnizat cu argumente care sunt coerente cu structura sistemului de fișiere (de exemplu, dimensiunea blocurilor, blocuri pe grup, sparse_super etc.).

    Numărul blocului utilizează aici unități de 1 k. Astfel, dacă doriți să utilizați blocul logic 32768 pe un sistem de fișiere cu 4 blocuri k, utilizați „sb=131072”.

user_xattr|nouser_xattr
    Acceptă (sau nu) atributele extinse „user.”.

Opțiuni de montare pentru ext3
Sistemul de fișiere ext3 este o versiune a sistemului de fișiere ext2 care a fost îmbunătățită cu jurnalizare. Acesta acceptă aceleași opțiuni ca și ext2, precum și următoarele opțiuni suplimentare:

journal_dev=num-disp/journal_path=rută
    Atunci când numerele majore/minore ale dispozitivului de jurnal extern s-au schimbat, aceste opțiuni permit utilizatorului să specifice noua locație a jurnalului. Dispozitivul de jurnal este identificat fie prin noile sale numere majore/minore codificate în număr_dispozitiv, fie printr-o rută către dispozitiv.

norecovery/noload
    Nu încarcă jurnalul la montare. Rețineți că, în cazul în care sistemul de fișiere nu a fost demontat curat, omiterea reluării jurnalului va face ca sistemul de fișiere să conțină inconsecvențe care pot duce la o serie de probleme.

data={journal|ordered|writeback}
    Specifică modul de jurnalizare pentru datele fișierului. Metadatele sunt întotdeauna jurnalizate. Pentru a utiliza alte moduri decât ordered pe sistemul de fișiere rădăcină, indicați modul către nucleu ca parametru de pornire, de exemplu: rootflags=data=journal.

    journal
        Toate datele sunt înregistrate în jurnal înainte de a fi scrise în sistemul principal de fișiere.

    ordered
        Acesta este modul implicit. Toate datele sunt forțate să iasă direct în sistemul principal de fișiere înainte ca metadatele lor să fie incluse în jurnal.

    writeback
        Ordinea datelor nu este păstrată - datele pot fi scrise în sistemul principal de fișiere după ce metadatele lor au fost înregistrate în jurnal. Se zvonește că aceasta este opțiunea cu cel mai mare randament. Aceasta garantează integritatea internă a sistemului de fișiere, însă poate permite apariția datelor vechi în fișiere după o prăbușire și recuperarea jurnalului.

data_err=ignore
    Afișează doar un mesaj de eroare dacă apare o eroare într- o memorie tampon de date de fișier în modul ordonat „ordered”.

data_err=abort
    Întrerupe jurnalul dacă apare o eroare într-un tampon de date de fișier în modul ordonat.

barrier=0 / barrier=1
    Aceasta dezactivează / activează utilizarea barierelor de scriere în codul jbd. barrier=0 dezactivează, barrier=1 activează (implicit). Acest lucru necesită, de asemenea, o stivă IO care poate să ofere suport pentru bariere, iar dacă jbd primește o eroare la o scriere cu barieră, va dezactiva din nou barierele cu un avertisment. Barierele de scriere impun ordonarea corectă pe disc a comenzilor jurnalului, ceea ce face ca cache-urile volatile de scriere pe disc să poată fi utilizate în siguranță, cu o anumită penalizare a performanței. Dacă discurile dvs. sunt susținute de baterii într-un fel sau altul, dezactivarea barierelor poate îmbunătăți în siguranță performanța.

commit=nrsec
    Pornește o confirmare a jurnalului la fiecare nrsec secunde. Valoarea implicită este de 5 secunde. Zero înseamnă implicit.

user_xattr
    Activează atributele de utilizator extinse. Consultați pagina de manual attr(5).

jqfmt={vfsold|vfsv0|vfsv1}
    În afară de vechiul sistem de cote (ca în ext2, jqfmt=vfsold aka cota versiunea 1), ext3 acceptă și cote jurnalizate (cota versiunea 2). jqfmt=vfsv0 sau jqfmt=vfsv1 activează cotele jurnalizate. Cotele jurnalizate au avantajul că, chiar și după o prăbușire, nu este necesară verificarea cotelor. Atunci când funcția sistemului de fișiere quota este activată, cotele jurnalizate sunt utilizate automat, iar această opțiune de montare este ignorată.

usrjquota=aquota.user|grpjquota=aquota.group
    Pentru cotele cu jurnal (jqfmt=vfsv0 sau jqfmt=vfsv1), opțiunile de montare usrjquota=aquota.user și grpjquota=aquota.group sunt necesare pentru a indica sistemului de cote fișierele de baze de date de cote care trebuie utilizate. Atunci când funcția sistemului de fișiere quota este activată, cotele jurnalizate sunt utilizate automat, iar această opțiune de montare este ignorată.

Opțiuni de montare pentru ext4
Sistemul de fișiere ext4 este un nivel avansat al sistemului de fișiere ext3, care încorporează îmbunătățiri ale scalabilității și fiabilității pentru a oferi suport sistemelor de fișiere mari. Opțiunile journal_dev, journal_path, norecovery, noload, data, commit, orlov, oldalloc, [no]user_xattr, [no]acl, bsddf, minixdf, debug, errors, data_err, grpid, bsdgroups, nogrpid, sysvgroups, resgid, resuid, sb, quota, noquota, nouid32, grpquota, usrquota, usrjquota, grpjquota, și jqfmt sunt compatibile retroactiv cu ext3 sau ext2.

journal_checksum | nojournal_checksum
    Opțiunea journal_checksum permite efectuarea sumei de control a tranzacțiilor din jurnal. Aceasta va permite codului de recuperare din e2fsck și nucleului să detecteze corupția în nucleu. Este o modificare compatibilă și va fi ignorată de nucleele mai vechi.

journal_async_commit
    Blocurile de inscripționare pot fi scrise pe disc fără a aștepta blocurile descriptoare. Dacă este activată, nucleele mai vechi nu pot monta dispozitivul. Aceasta va activa intern „journal_checksum”.

barrier=0 / barrier=1 / barrier / nobarrier
    Aceste opțiuni de montare au același efect ca în ext3. Opțiunile de montare „barrier” și „nobarrier” sunt adăugate pentru coerență cu alte opțiuni de montare ext4. Sistemul de fișiere ext4 activează implicit barierele de scriere.

inode_readahead_blks=n
    Acest parametru de ajustare controlează numărul maxim de blocuri ale tabelului de noduri-i pe care algoritmul de readahead al tabelului de noduri al ext4 le va pre-citi în memoria cache tampon. Valoarea trebuie să fie o putere a lui 2. Valoarea implicită este de 32 de blocuri.

stripe=n
    Numărul de blocuri ale sistemului de fișiere pe care mballoc va încerca să le utilizeze pentru dimensiunea alocării și aliniere. Pentru sistemele RAID5/6, acesta ar trebui să fie numărul de discuri de date * dimensiunea bucăților RAID în blocuri ale sistemului de fișiere.

delalloc
    Se amână alocarea blocurilor până la momentul scrierii.

nodelalloc
    Dezactivează alocarea întârziată. Blocurile sunt alocate atunci când datele sunt copiate din memoria cache de utilizator în cea de pagină.

max_batch_time=usec
    Cantitatea maximă de timp în care ext4 ar trebui să aștepte ca operațiile suplimentare ale sistemului de fișiere să fie grupate împreună cu o operație de scriere sincronă. Deoarece o operație de scriere sincronă va forța o confirmare și apoi o așteptare pentru finalizarea I/O, aceasta nu costă mult și poate fi un câștig uriaș în ceea ce privește debitul, așteptăm o perioadă mică de timp pentru a vedea dacă alte tranzacții se pot baza pe scrierea sincronă. Algoritmul utilizat este conceput pentru a se adapta automat la viteza discului, prin măsurarea timpului (în medie) necesar pentru finalizarea unei tranzacții. Numim acest timp „commit time” (timpul de comitere). Dacă timpul de execuție al tranzacției este mai mic decât timpul de comitere, ext4 va încerca să aștepte acest timp pentru a vedea dacă alte operații se vor alătura tranzacției. Timpul de comitere este limitat de max_batch_time, care este implicit 15000 µs (15 ms). Această optimizare poate fi dezactivată complet prin stabilirea max_batch_time la 0.

min_batch_time=usec
    Acest parametru stabilește timpul de comitere (așa cum este descris mai sus) să fie cel puțin min_batch_time. Valoarea implicită este de zero microsecunde. Creșterea acestui parametru poate îmbunătăți randamentul sarcinilor de lucru sincrone cu mai multe fire pe discuri foarte rapide, cu prețul creșterii latenței.

journal_ioprio=prioritate
    Prioritatea de In/Ieș (de la 0 la 7, unde 0 este cea mai mare prioritate) care ar trebui utilizată pentru operațiile de In/Ieș trimise de kjournald2 în timpul unei operații de validare. Aceasta are ca valoare implicită 3, care este o prioritate ușor mai mare decât prioritatea de In/Ieș implicită.

abort
    Simulează efectele apelării ext4_abort() în scopuri de depanare. Aceasta este utilizată în mod normal la remontarea unui sistem de fișiere care este deja montat.

auto_da_alloc|noauto_da_alloc
    Multe aplicații defectuoase nu utilizează fsync() atunci când înlocuiesc fișiere existente prin modele precum fd = open("foo.new")/write(fd,...)/close(fd)/ rename("foo.new", "foo") sau mai rău încă fd = open("foo", O_TRUNC)/write(fd,...)/close(fd). Dacă auto_da_alloc este activată, ext4 va detecta modelele „replace-via-rename” și „replace-via-truncate” și va forța alocarea oricăror blocuri de alocare întârziate, astfel încât la următoarea confirmare a jurnalului, în modul implicit data=ordered, blocurile de date ale noului fișier să fie forțate pe disc înainte de efectuarea operațiunii rename(). Acest lucru oferă aproximativ același nivel de garanții ca și ext3 și evită problema „lungimii zero” care se poate întâmpla atunci când un sistem se blochează înainte ca blocurile de alocare întârziate să fie forțate pe disc.

noinit_itable
    Nu inițializează niciun bloc neinițializat al tabelului de noduri-i în fundal. Această caracteristică poate fi utilizată de CD-urile de instalare, astfel încât procesul de instalare să se poată finaliza cât mai repede posibil; procesul de inițializare a tabelului de noduri-i va fi apoi amânat până la următoarea montare a sistemului de fișiere.

init_itable=n
    Codul de inițiere „lazy itable” (tabelul de noduri-i leneș) va aștepta de n ori numărul de milisecunde necesare pentru a aduce la zero tabelul de noduri-i al grupului de blocuri anterior. Acest lucru minimizează impactul asupra performanței sistemului în timp ce tabelul de noduri-i al sistemului de fișiere este inițializat.

discard/nodiscard
    Controlează dacă ext4 ar trebui să emită comenzi discard/TRIM către dispozitivul de bloc subiacent atunci când blocurile sunt eliberate. Acest lucru este util pentru dispozitivele SSD și „sparse/thinly-provisioned LUNs” (LUN-urile cu provizionare dispersă/lejeră), dar este dezactivat în mod implicit până la efectuarea unor teste suficiente.

block_validity/noblock_validity
    Această opțiune activează/dezactivează facilitatea integrată în nucleu pentru urmărirea blocurilor de metadate ale sistemului de fișiere în cadrul structurilor interne de date. Aceasta permite alocatorului de blocuri multiple și altor rutine să localizeze rapid blocurile extents care s-ar putea suprapune cu blocurile de metadate ale sistemului de fișiere. Această opțiune este destinată depanării și, deoarece afectează negativ performanța, este dezactivată în mod implicit.

dioread_lock/dioread_nolock
    Controlează dacă ext4 ar trebui să utilizeze sau nu blocarea citirii DIO. Dacă opțiunea dioread_nolock este specificată, ext4 va aloca un extent neinițializat înainte de scrierea tamponului și va converti extent-ul în inițializat după finalizarea IO. Această abordare permite codului ext4 să evite utilizarea nodului-i mutex, ceea ce îmbunătățește scalabilitatea pe stocările de mare viteză. Cu toate acestea, acest lucru nu funcționează cu jurnalizarea datelor, iar opțiunea dioread_nolock va fi ignorată cu avertizarea nucleului. Rețineți că ruta de cod dioread_nolock este utilizată numai pentru fișierele bazate pe extent. Din cauza restricțiilor pe care le cuprinde, această opțiune este dezactivată în mod implicit (de exemplu, dioread_lock).

max_dir_size_kb=n
    Aceasta limitează dimensiunea directoarelor astfel încât orice încercare de a le extinde dincolo de limita specificată în kiloocteți va provoca o eroare ENOSPC. Acest lucru este util în mediile cu memorie limitată, unde un director foarte mare poate cauza probleme grave de performanță sau chiar poate provoca „Out Of Memory killer”; (de exemplu, dacă există doar 512 Mio de memorie disponibilă, un director de 176 Mio poate afecta grav starea sistemului).

i_version
    Activează suportul pentru versiunea de noduri-i pe 64 de biți. Această opțiune este dezactivată în mod implicit.

nombcache
    Această opțiune dezactivează utilizarea mbcache pentru deduplicarea atributelor extinse. Pe sistemele în care atributele extinse sunt rareori sau niciodată partajate între fișiere, utilizarea mbcache pentru deduplicare adaugă un volum inutil de calcul.

prjquota
    Opțiunea de montare prjquota permite gestionarea cotelor proiectului pe sistemul de fișiere. Aveți nevoie de utilitarele de cote pentru a activa și gestiona efectiv sistemul de cote. Această opțiune de montare necesită caracteristica sistemului de fișiere project.

ATRIBUTELE FIȘIERELOR
Sistemele de fișiere ext2, ext3 și ext4 acceptă definirea următoarelor atribute de fișier pe sistemele Linux utilizând programul chattr(1):

a - doar adăugare

A - fără actualizare a timpului de acces („atime”)

d - fără copie de rezervă prin programul dump

D - actualizări sincronizate ale directoarelor

i - imuabil

S - actualizări sincrone

u - nu se poate șterge (de neșters)

În plus, sistemele de fișiere ext3 și ext4 acceptă următorul fanion:

j - jurnalizarea datelor

În cele din urmă, sistemul de fișiere ext4 acceptă de asemenea următorul fanion:

e - format extents

Pentru descrieri ale acestor fanioane de atribute, consultați pagina de manual chattr(1).

SUPORT PENTRU NUCLEU
Această secțiune listează controlorul sistemului de fișiere (de exemplu, ext2, ext3, ext4) și versiunea nucleului upstream în care a fost acceptată o anumită caracteristică a sistemului de fișiere. Rețineți că, în unele cazuri, funcția era prezentă în versiunile anterioare ale nucleului, dar existau erori grave cunoscute. În alte cazuri, caracteristica poate fi considerată încă într-o stare experimentală. În cele din urmă, rețineți că este posibil ca unele distribuții să fi transferat caracteristici în nuclee mai vechi; în special versiunile nucleului din anumite „enterprise distributions” pot fi extrem de înșelătoare.

filetype
    ext2, 2.2.0

sparse_super
    ext2, 2.2.0

large_file
    ext2, 2.2.0

has_journal
    ext3, 2.4.15

ext_attr
    ext2/ext3, 2.6.0

dir_index
    ext3, 2.6.0

resize_inode
    ext3, 2.6.10 (redimensionare „la cald”)

64bit
    ext4, 2.6.28

dir_nlink
    ext4, 2.6.28

extent
    ext4, 2.6.28

extra_isize
    ext4, 2.6.28

flex_bg
    ext4, 2.6.28

huge_file
    ext4, 2.6.28

meta_bg
    ext4, 2.6.28

uninit_bg
    ext4, 2.6.28

mmp ext4, 3.0

bigalloc
    ext4, 3.2

quota
    ext4, 3.6

inline_data
    ext4, 3.8

sparse_super2
    ext4, 3.16

metadata_csum
    ext4, 3.18

encrypt
    ext4, 4.1

metadata_csum_seed
    ext4, 4.4

project
    ext4, 4.5

ea_inode
    ext4, 4.13

large_dir
    ext4, 4.13

casefold
    ext4, 5.2

verity
    ext4, 5.4

stable_inodes
    ext4, 5.5

CONSULTAȚI ȘI
mke2fs(8), mke2fs.conf(5), e2fsck(8), dumpe2fs(8), tune2fs(8), debugfs(8), mount(8), chattr(1)

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