EXT4(5) File Formats Manual EXT4(5) NUME ext2 - al doilea sistem de fiiere extins ext3 - al treilea sistem de fiiere extins ext4 - al patrulea sistem de fiiere extins DESCRIERE Al doilea, al treilea i al patrulea sistem de fiiere extins, sau ext2, ext3 i ext4, aa cum sunt cunoscute in mod obinuit, sunt sisteme de fiiere Linux care au fost in mod istoric sistemul de fiiere implicit pentru multe distribuii Linux. Acestea sunt sisteme de fiiere de uz general care au fost concepute pentru extensibilitate i compatibilitate retroactiva. In special, sistemele de fiiere destinate anterior utilizarii cu sistemele de fiiere ext2 i ext3 pot fi montate utilizand controlorul sistemului de fiiere ext4 i, intr-adevar, in multe distribuii Linux moderne, controlorul sistemului de fiiere ext4 a fost configurat pentru a gestiona cererile de montare pentru sistemele de fiiere ext2 i ext3. CARACTERISTICILE SISTEMULUI DE FIIERE Un sistem de fiiere formatat pentru ext2, ext3 sau ext4 poate avea activata o anumita colecie din urmatoarele fanioane de caracteristici ale sistemului de fiiere. Unele dintre aceste caracteristici nu sunt acceptate de toate implementarile controlorilor sistemelor de fiiere ext2, ext3 i ext4, in funcie de versiunea nucleului Linux utilizata. Pe alte sisteme de operare, cum ar fi GNU/HURD sau FreeBSD, numai un set foarte restrictiv de caracteristici ale sistemului de fiiere poate fi acceptat in implementarile lor de ext2. 64bit Activeaza sistemul de fiiere pentru a fi mai mare de 2^32 blocuri. Aceasta caracteristica este stabilita automat, in funcie de necesitai, dar poate fi utila specificarea explicita a acestei caracteristici daca sistemul de fiiere ar putea avea nevoie sa fie redimensionat mai mult de 2^32 de blocuri, chiar daca era mai mic decat acest prag atunci cand a fost creat iniial. Reinei ca unele nuclee mai vechi i versiuni mai vechi ale e2fsprogs nu vor accepta sisteme de fiiere cu aceasta caracteristica ext4 activata. bigalloc Aceasta caracteristica ext4 permite alocarea de blocuri grupate, astfel incat unitatea de alocare este o putere a numarului doi de blocuri. Cu alte cuvinte, fiecare bit din ceea ce era cunoscut in mod tradiional ca bitmap de alocare a blocurilor indica acum daca un cluster este utilizat sau nu, un cluster fiind compus in mod implicit din 16 blocuri. Aceasta caracteristica poate reduce timpul petrecut pentru a face alocarea blocurilor i aduce o fragmentare mai mica, in special pentru fiierele mari. Dimensiunea poate fi specificata utilizand opiunea mke2fs -C. Avertisment: Funcia bigalloc este inca in curs de dezvoltare i este posibil sa nu fie pe deplin compatibila cu nucleul dumneavoastra sau sa aiba diverse erori. Va rugam sa consultai pagina web http://ext4.wiki.kernel.org/index.php/Bigalloc pentru detalii. Poate intra in conflict cu alocarea intarziata (consultai opiunea de montare nodelalloc). Aceasta caracteristica necesita ca caracteristica extent sa fie activata. casefold Aceasta caracteristica ext4 ofera suport pentru codificarea caracterelor la nivelul sistemului de fiiere pentru directoarele cu marcajul casefold (+F) activat. Aceasta caracteristica pastreaza numele pe disc, dar permite aplicaiilor sa caute un fiier in sistemul de fiiere utilizand o versiune echivalenta de codificare a numelui fiierului. dir_index Utilizeaza b-trees cu tabele de sume de control (hashed b-trees, in engleza) pentru a accelera cautarea numelor in directoare mari. Aceasta caracteristica este acceptata de sistemele de fiiere ext3 i ext4 i este ignorata de sistemele de fiiere ext2. dir_nlink In mod normal, ext4 permite ca un nod-i sa nu aiba mai mult de 65.000 de legaturi dure. Acest lucru se aplica atat fiierelor obinuite, cat i directoarelor, ceea ce inseamna ca nu pot exista mai mult de 64 998 de subdirectoare intr-un director (deoarece fiecare dintre intrarile ,,." i ,,..", precum i intrarea de director pentru directorul din directorul parinte conteaza ca o legatura dura). Aceasta caracteristica ridica aceasta limita facand ca ext4 sa utilizeze un numar de legaturi de 1 pentru a indica faptul ca nu se cunoate numarul de legaturi dure catre un director atunci cand numarul de legaturi ar putea depai limita maxima a numarului. ea_inode In mod normal, atributele extinse ale unui fiier i metadatele asociate trebuie sa incapa in nodul-i sau in blocul de atribute extinse asociat nodului-i. Aceasta caracteristica permite ca valoarea fiecarui atribut extins sa fie plasata in blocurile de date ale unui nod-i separat, daca este necesar, crescand astfel limita privind dimensiunea i numarul de atribute extinse per fiier. encrypt Activeaza suportul pentru criptarea la nivel de sistem de fiiere a blocurilor de date i a numelor de fiiere. Metadatele din nodurile-i (marcajele de timp, dimensiunea fiierului, utilizatorul/grupul proprietar etc.) nu sunt criptate. Aceasta caracteristica este foarte utila pe sistemele de fiiere cu mai muli utilizatori sau in cazul in care nu toate fiierele trebuie criptate. In multe cazuri de utilizare, in special pe sistemele cu un singur utilizator, criptarea la nivelul dispozitivului bloc folosind dm-crypt poate oferi o securitate mult mai buna. ext_attr Aceasta caracteristica permite utilizarea atributelor extinse. Aceasta caracteristica este acceptata de ext2, ext3 i ext4. extent Aceasta caracteristica ext4 permite ca cartografierea numerelor de bloc logic pentru un anumit nod-i la blocurile fizice de pe dispozitivul de stocare sa fie stocata utilizand un arbore extent, care este o structura de date mai eficienta decat schema tradiionala de bloc indirect utilizata de sistemele de fiiere ext2 i ext3. Utilizarea arborelui extent reduce supraincarcarea blocului de metadate, imbunataete performana sistemului de fiiere i reduce necesitatea de a rula e2fsck(8) pe sistemul de fiiere. Nota: atat extent, cat i extents sunt acceptate ca nume valide pentru aceasta caracteristica din motive de compatibilitate istorica/inapoi. extra_isize Aceasta caracteristica ext4 rezerva o anumita cantitate de spaiu in fiecare nod-i pentru metadatele extinse, cum ar fi marcajele temporale de nanosecunde i ora crearii fiierului, chiar daca nucleul actual nu are nevoie in prezent sa rezerve atat de mult spaiu. Fara aceasta caracteristica, nucleul va rezerva cantitatea de spaiu pentru caracteristicile de care are nevoie in prezent, iar restul poate fi consumat de atributele extinse. Pentru ca aceasta caracteristica sa fie utila, dimensiunea nodurilor-i trebuie sa fie de 256 de octei sau mai mare. filetype Aceasta caracteristica permite stocarea informaiilor despre tipul de fiier in intrarile din directoare. Aceasta caracteristica este acceptata de ext2, ext3 i ext4. flex_bg Aceasta caracteristica ext4 permite ca metadatele pentru fiecare grup de blocuri (hari de bii de alocare i tabele de noduri-i) sa fie plasate oriunde pe suportul de stocare. In plus, mke2fs va plasa metadatele pe grup de blocuri impreuna incepand cu primul grup de blocuri din fiecare ,,flex_bg group". Dimensiunea grupului flex_bg poate fi specificata utilizand opiunea -G. has_journal Creeaza un jurnal pentru a asigura coerena sistemului de fiiere chiar i in cazul inchiderilor necurate. Activarea caracteristicii sistemului de fiiere este echivalenta cu utilizarea opiunii -j cu mke2fs sau tune2fs. Aceasta caracteristica este acceptata de ext3 i ext4 i ignorata de controlorul sistemului de fiiere ext2. huge_file Aceasta caracteristica ext4 permite fiierelor sa aiba o dimensiune mai mare de 2 teraoctei. inline_data Permite stocarea datelor in nodurile-i i in zona de atribute extinsa. journal_dev Aceasta caracteristica este activata pe superblocul gasit pe un dispozitiv de jurnal extern. Dimensiunea blocului pentru jurnalul extern trebuie sa fie aceeai cu cea a sistemului de fiiere care il utilizeaza. Dispozitivul de jurnal extern poate fi utilizat de un sistem de fiiere prin specificarea opiunii -J device= la mke2fs(8) sau tune2fs8). large_dir Aceasta caracteristica marete limita numarului de fiiere per director prin creterea dimensiunii maxime a directoarelor i, in cazul directoarelor b-tree de sume de control (a se vedea dir_index), a inalimii maxime a arborelui b-tree de sume de control utilizat pentru stocarea intrarilor in directoare. large_file Acest fanion de caracteristica este activat automat de nucleele moderne atunci cand este creat un fiier mai mare de 2 gigaoctei. Nucleele foarte vechi nu puteau gestiona fiiere de mari dimensiuni, astfel incat acest fanion de caracteristica a fost utilizat pentru a interzice acestor nuclee sa monteze sisteme de fiiere pe care nu le puteau inelege. metadata_csum Aceasta caracteristica ext4 permite verificarea sumelor de control ale metadatelor. Aceasta caracteristica stocheaza sumele de control pentru toate metadatele sistemului de fiiere (superblocul, blocurile descriptorilor de grup, harile de bii 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 funcia uninit_bg. Aceste doua caracteristici sunt incompatibile i metadata_csum va fi utilizat preferenial in locul uninit_bg. metadata_csum_seed Aceasta caracteristica permite sistemului de fiiere sa stocheze samana sumei de control a metadatelor in super-bloc, ceea ce permite administratorului sa schimbe UUID-ul unui sistem de fiiere utilizand caracteristica metadata_csum in timp ce acesta este montat. meta_bg Aceasta caracteristica ext4 permite redimensionarea ,,la cald" a sistemelor de fiiere fara a fi necesar sa se rezerve in mod explicit spaiu pentru creterea dimensiunii descriptorilor grupului de blocuri. Aceasta schema este, de asemenea, utilizata pentru redimensionarea sistemelor de fiiere care sunt mai mari de 2^32 blocuri. Nu se recomanda ca aceasta caracteristica sa fie activata atunci cand se creeaza un sistem de fiiere, deoarece aceasta metoda alternativa de stocare a descriptorilor grupului de blocuri va incetini timpul necesar pentru montarea sistemului de fiiere, iar nucleele mai noi pot activa automat aceasta caracteristica, daca este necesar, atunci cand se face o redimensionare ,,la cald" i nu mai este disponibil spaiu rezervat in nodul-i de redimensionare. mmp Aceasta caracteristica ext4 ofera protecie impotriva montarii multiple (MMP). MMP ajuta la protejarea sistemului de fiiere de montarea multipla i este utila in mediile de stocare partajata. orphan_file Aceasta caracteristica ext4 rezolva un potenial blocaj de scalabilitate pentru sarcinile de lucru care efectueaza un numar mare de trunchieri sau extensii de fiiere in paralel. Este acceptata de nucleele Linux incepand cu versiunea 5.15 i de e2fsprogs incepand cu versiunea 1.47.0. project Aceasta caracteristica ext4 ofera suport pentru cote de proiect. Cu aceasta caracteristica, ID-ul proiectului din nodul-i va fi gestionat atunci cand sistemul de fiiere este montat. quota Creeaza noduri-i de cota (nodul-i nr.3 pentru userquota i nodul-i nr.4 pentru groupquota) i le definete in super-bloc. Cu aceasta caracteristica, cotele vor fi activate automat atunci cand sistemul de fiiere este montat. Face ca fiierele de cote (de exemplu, user.quota i group.quota, care existau in modelul de cote mai vechi) sa fie noduri-i ascunse. resize_inode Aceasta caracteristica a sistemului de fiiere indica faptul ca spaiul a fost rezervat astfel incat tabelul descriptor al grupului de blocuri sa poata fi extins in timpul redimensionarii unui sistem de fiiere montat. Operaia de redimensionare ,,la cald" este efectuata de nucleu, declanata de resize2fs(8). In mod implicit, mke2fs va incerca sa rezerve suficient spaiu pentru ca sistemul de fiiere sa poata crete pana la de 1024 de ori dimensiunea sa iniiala. Acest lucru poate fi schimbat utilizand opiunea extinsa resize. Aceasta caracteristica necesita ca caracteristicile sparse_super sau sparse_super2 sa fie activate. sparse_super Aceasta caracteristica a sistemului de fiiere este activata pe toate sistemele de fiiere moderne ext2, ext3 i ext4. Aceasta indica faptul ca copiile de rezerva ale descriptorilor super-blocurilor i grupurilor de blocuri sunt prezente numai in cateva grupuri de blocuri, nu in toate. sparse_super2 Aceasta caracteristica indica faptul ca vor exista doar cel mult doua superblocuri de rezerva i descriptori de grup de blocuri. Grupurile de blocuri utilizate pentru stocarea super-blocului (super-blocurilor) de rezerva i a descriptorului (descriptorilor) de grup de blocuri sunt stocate in super-bloc, dar, de obicei, unul va fi localizat la inceputul grupului de blocuri nr.1, iar celalalt in ultimul grup de blocuri din sistemul de fiiere. Aceasta caracteristica este in esena o versiune mai extrema a sparse_super i este conceputa pentru a permite unui procent mult mai mare din disc sa aiba blocuri contigue disponibile pentru fiierele de date. stable_inodes Marcheaza numerele de noduri-i i UUID-ul sistemului de fiiere ca fiind stabile. resize2fs(8) nu va permite micorarea unui sistem de fiiere cu aceasta caracteristica i nici tune2fs(8) nu va permite modificarea UUID-ului acestuia. Aceasta caracteristica permite utilizarea unor configuraii specializate de criptare care utilizeaza numerele de noduri-i i UUID-ul. Reinei ca funcia encrypt trebuie sa fie activata separat. stable_inodes este o caracteristica ,,compat", astfel incat nucleele vechi o vor permite. uninit_bg Aceasta caracteristica a sistemului de fiiere ext4 indica faptul ca descriptorii grupurilor de blocuri vor fi protejai cu ajutorul sumelor de control, ceea ce face ca mke2fs(8) sa creeze in sigurana un sistem de fiiere fara a iniializa toate grupurile de blocuri. Nucleul va pastra o evidena riguroasa a nodurilor-i neutilizate i va iniializa in mod lene tabelele de noduri-i i blocurile. Aceasta caracteristica accelereaza timpul de verificare a sistemului de fiiere utilizand e2fsck(8) i, de asemenea, accelereaza timpul necesar pentru ca mke2fs(8) sa creeze sistemul de fiiere. verity Permite suportul pentru fiierele protejate de verity. Fiierele verity sunt numai-pentru-citire, iar datele lor sunt verificate in mod transparent in raport cu un arbore Merkle ascuns dupa sfaritul fiierului. Utilizand suma de control a radacinii arborelui Merkle, un fiier verity poate fi autentificat eficient, independent de dimensiunea fiierului. Aceasta caracteristica este foarte utila pentru autentificarea fiierelor importante numai-pentru-citire pe sisteme de fiiere numai-pentru-citire. Daca sistemul de fiiere in sine este numai-pentru-citire, atunci utilizarea dm-verity pentru autentificarea intregului dispozitiv bloc poate oferi o securitate mult mai buna. OPIUNI DE MONTARE Aceasta seciune descrie opiunile de montare care sunt specifice pentru ext2, ext3 i ext4. Pot fi utilizate i alte opiuni generice de montare; consultai mount(8) pentru detalii. Opiuni de montare pentru ext2 Sistemul de fiiere ,,ext2" este sistemul de fiiere Linux standard. Incepand cu Linux 2.5.46, pentru majoritatea opiunilor de montare, valoarea implicita este determinata de superblocul sistemului de fiiere. Stabilii-le cu tune2fs(8). acl|noacl Accepta (sau nu) listele de control al accesului POSIX. Consultai pagina de manual acl(5). bsddf|minixdf Definete comportamentul pentru apelul de sistem statfs. Comportamentul minixdf este de a returna in campul f_blocks numarul total de blocuri ale sistemului de fiiere, in timp ce comportamentul bsddf (care este cel implicit) este de a scadea blocurile utilizate de sistemul de fiiere ext2 i care nu sunt disponibile pentru stocarea fiierelor. Astfel % mount /k -o minixdf; df /k; umount /k Sistem de fiiere 1024-blocks Utilizat Disponibil Capacitate Montat pe /dev/sda6 2630655 86954 2412169 3% /k % mount /k -o bsddf; df /k; umount /k Sistem de fiiere 1024-blocks Utilizat Disponibil Capacitate Montat pe /dev/sda6 2543714 13 2412169 0% /k (Reinei ca acest exemplu arata ca se pot adauga opiuni de linie de comanda la opiunile date in /etc/fstab.) check=none sau nocheck Nu se efectueaza nicio verificare la momentul montarii. Aceasta este valoarea implicita. Acest lucru este rapid. Este inelept sa se invoce e2fsck(8) din cand in cand, de exemplu la pornire. Comportamentul diferit de cel implicit nu este acceptat (opiunile check=normal i check=strict au fost eliminate). Reinei ca aceste opiuni de montare nu trebuie sa fie acceptate daca este utilizat controlorul de nucleu ext4 pentru sistemele de fiiere ext2 i ext3. debug Afieaza informaii de depanare la fiecare (re)montare. errors={continue|remount-ro|panic} Definete comportamentul atunci cand este intalnita o eroare. (Fie sa ignore erorile i sa marcheze sistemul de fiiere ca fiind eronat i sa continue, fie sa remonteze sistemul de fiiere numai pentru citire, fie sa intre in panica i sa opreasca sistemul). Valoarea implicita este stabilita in super-blocul sistemului de fiiere i poate fi modificata utilizand tune2fs(8). grpid|bsdgroups i nogrpid|sysvgroups Aceste opiuni definesc ce id de grup primete un fiier nou creat. Atunci cand grpid este activat, acesta preia id-ul de grup al directorului in care este creat; altfel (implicit) preia fsgid-ul procesului curent, cu excepia cazului in care directorul are bitul setgid activat, caz in care preia gid-ul de la directorul parinte i, de asemenea, primete bitul setgid activat daca este un director. grpquota|noquota|quota|usrquota Opiunea de montare usrquota (la fel ca quota) activeaza suportul pentru cote de utilizator pe sistemul de fiiere. grpquota activeaza suportul pentru cote de grup. Avei nevoie de instrumentele pentru cote pentru a activa i gestiona sistemul de cote. nouid32 Dezactiveaza UID-urile i GID-urile pe 32 de bii. Acest lucru se face pentru interoperabilitatea cu nucleele mai vechi care stocheaza i ateapta doar valori pe 16 bii. oldalloc sau orlov Utilizeaza alocatorul vechi sau alocatorul Orlov pentru nodurile-i noi. Orlov este implicit. resgid=n i resuid=n Sistemul de fiiere ext2 rezerva un anumit procent din spaiul disponibil (implicit 5%, consultai mke2fs(8) i tune2fs(8)). Aceste opiuni determina cine poate utiliza blocurile rezervate; (in general: oricine are uid-ul specificat sau aparine grupului specificat). sb=n In loc sa se utilizeze super-blocul normal, se utilizeaza un super-bloc alternativ specificat de n. Aceasta opiune este utilizata in mod normal atunci cand super-blocul primar a fost corupt. Locaia super-blocurilor de rezerva depinde de dimensiunea blocurilor sistemului de fiiere, de numarul de blocuri pe grup i de caracteristici precum sparse_super. Super-blocurile de rezerva suplimentare pot fi determinate prin utilizarea programului mke2fs cu opiunea -n pentru a afia unde exista super-blocurile, presupunand ca mke2fs este furnizat cu argumente care sunt coerente cu structura sistemului de fiiere (de exemplu, dimensiunea blocurilor, blocuri pe grup, sparse_super etc.). Numarul blocului utilizeaza aici unitai de 1 k. Astfel, daca dorii sa utilizai blocul logic 32768 pe un sistem de fiiere cu 4 blocuri k, utilizai ,,sb=131072". user_xattr|nouser_xattr Accepta (sau nu) atributele extinse ,,user.". Opiuni de montare pentru ext3 Sistemul de fiiere ext3 este o versiune a sistemului de fiiere ext2 care a fost imbunataita cu jurnalizare. Acesta accepta aceleai opiuni ca i ext2, precum i urmatoarele opiuni suplimentare: journal_dev=num-disp/journal_path=ruta Atunci cand numerele majore/minore ale dispozitivului de jurnal extern s-au schimbat, aceste opiuni permit utilizatorului sa specifice noua locaie a jurnalului. Dispozitivul de jurnal este identificat fie prin noile sale numere majore/minore codificate in numar_dispozitiv, fie printr-o ruta catre dispozitiv. norecovery/noload Nu incarca jurnalul la montare. Reinei ca, in cazul in care sistemul de fiiere nu a fost demontat curat, omiterea reluarii jurnalului va face ca sistemul de fiiere sa conina inconsecvene care pot duce la o serie de probleme. data={journal|ordered|writeback} Specifica modul de jurnalizare pentru datele fiierului. Metadatele sunt intotdeauna jurnalizate. Pentru a utiliza alte moduri decat ordered pe sistemul de fiiere radacina, indicai modul catre nucleu ca parametru de pornire, de exemplu: rootflags=data=journal. journal Toate datele sunt inregistrate in jurnal inainte de a fi scrise in sistemul principal de fiiere. ordered Acesta este modul implicit. Toate datele sunt forate sa iasa direct in sistemul principal de fiiere inainte ca metadatele lor sa fie incluse in jurnal. writeback Ordinea datelor nu este pastrata - datele pot fi scrise in sistemul principal de fiiere dupa ce metadatele lor au fost inregistrate in jurnal. Se zvonete ca aceasta este opiunea cu cel mai mare randament. Aceasta garanteaza integritatea interna a sistemului de fiiere, insa poate permite apariia datelor vechi in fiiere dupa o prabuire i recuperarea jurnalului. data_err=ignore Afieaza doar un mesaj de eroare daca apare o eroare intr- o memorie tampon de date de fiier in modul ordonat ,,ordered". data_err=abort Intrerupe jurnalul daca apare o eroare intr-un tampon de date de fiier in modul ordonat. barrier=0 / barrier=1 Aceasta dezactiveaza / activeaza utilizarea barierelor de scriere in codul jbd. barrier=0 dezactiveaza, barrier=1 activeaza (implicit). Acest lucru necesita, de asemenea, o stiva IO care poate sa ofere suport pentru bariere, iar daca jbd primete o eroare la o scriere cu bariera, va dezactiva din nou barierele cu un avertisment. Barierele de scriere impun ordonarea corecta pe disc a comenzilor jurnalului, ceea ce face ca cache-urile volatile de scriere pe disc sa poata fi utilizate in sigurana, cu o anumita penalizare a performanei. Daca discurile dvs. sunt susinute de baterii intr-un fel sau altul, dezactivarea barierelor poate imbunatai in sigurana performana. commit=nrsec Pornete o confirmare a jurnalului la fiecare nrsec secunde. Valoarea implicita este de 5 secunde. Zero inseamna implicit. user_xattr Activeaza atributele de utilizator extinse. Consultai pagina de manual attr(5). jqfmt={vfsold|vfsv0|vfsv1} In afara de vechiul sistem de cote (ca in ext2, jqfmt=vfsold aka cota versiunea 1), ext3 accepta i cote jurnalizate (cota versiunea 2). jqfmt=vfsv0 sau jqfmt=vfsv1 activeaza cotele jurnalizate. Cotele jurnalizate au avantajul ca, chiar i dupa o prabuire, nu este necesara verificarea cotelor. Atunci cand funcia sistemului de fiiere quota este activata, cotele jurnalizate sunt utilizate automat, iar aceasta opiune de montare este ignorata. usrjquota=aquota.user|grpjquota=aquota.group Pentru cotele cu jurnal (jqfmt=vfsv0 sau jqfmt=vfsv1), opiunile de montare usrjquota=aquota.user i grpjquota=aquota.group sunt necesare pentru a indica sistemului de cote fiierele de baze de date de cote care trebuie utilizate. Atunci cand funcia sistemului de fiiere quota este activata, cotele jurnalizate sunt utilizate automat, iar aceasta opiune de montare este ignorata. Opiuni de montare pentru ext4 Sistemul de fiiere ext4 este un nivel avansat al sistemului de fiiere ext3, care incorporeaza imbunatairi ale scalabilitaii i fiabilitaii pentru a oferi suport sistemelor de fiiere mari. Opiunile 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 Opiunea journal_checksum permite efectuarea sumei de control a tranzaciilor din jurnal. Aceasta va permite codului de recuperare din e2fsck i nucleului sa detecteze corupia in nucleu. Este o modificare compatibila i va fi ignorata de nucleele mai vechi. journal_async_commit Blocurile de inscripionare pot fi scrise pe disc fara a atepta blocurile descriptoare. Daca este activata, nucleele mai vechi nu pot monta dispozitivul. Aceasta va activa intern ,,journal_checksum". barrier=0 / barrier=1 / barrier / nobarrier Aceste opiuni de montare au acelai efect ca in ext3. Opiunile de montare ,,barrier" i ,,nobarrier" sunt adaugate pentru coerena cu alte opiuni de montare ext4. Sistemul de fiiere ext4 activeaza implicit barierele de scriere. inode_readahead_blks=n Acest parametru de ajustare controleaza numarul maxim de blocuri ale tabelului de noduri-i pe care algoritmul de readahead al tabelului de noduri al ext4 le va pre-citi in memoria cache tampon. Valoarea trebuie sa fie o putere a lui 2. Valoarea implicita este de 32 de blocuri. stripe=n Numarul de blocuri ale sistemului de fiiere pe care mballoc va incerca sa le utilizeze pentru dimensiunea alocarii i aliniere. Pentru sistemele RAID5/6, acesta ar trebui sa fie numarul de discuri de date * dimensiunea bucailor RAID in blocuri ale sistemului de fiiere. delalloc Se amana alocarea blocurilor pana la momentul scrierii. nodelalloc Dezactiveaza alocarea intarziata. Blocurile sunt alocate atunci cand datele sunt copiate din memoria cache de utilizator in cea de pagina. max_batch_time=usec Cantitatea maxima de timp in care ext4 ar trebui sa atepte ca operaiile suplimentare ale sistemului de fiiere sa fie grupate impreuna cu o operaie de scriere sincrona. Deoarece o operaie de scriere sincrona va fora o confirmare i apoi o ateptare pentru finalizarea I/O, aceasta nu costa mult i poate fi un catig uria in ceea ce privete debitul, ateptam o perioada mica de timp pentru a vedea daca alte tranzacii se pot baza pe scrierea sincrona. Algoritmul utilizat este conceput pentru a se adapta automat la viteza discului, prin masurarea timpului (in medie) necesar pentru finalizarea unei tranzacii. Numim acest timp ,,commit time" (timpul de comitere). Daca timpul de execuie al tranzaciei este mai mic decat timpul de comitere, ext4 va incerca sa atepte acest timp pentru a vedea daca alte operaii se vor alatura tranzaciei. Timpul de comitere este limitat de max_batch_time, care este implicit 15000 s (15 ms). Aceasta optimizare poate fi dezactivata complet prin stabilirea max_batch_time la 0. min_batch_time=usec Acest parametru stabilete timpul de comitere (aa cum este descris mai sus) sa fie cel puin min_batch_time. Valoarea implicita este de zero microsecunde. Creterea acestui parametru poate imbunatai randamentul sarcinilor de lucru sincrone cu mai multe fire pe discuri foarte rapide, cu preul creterii latenei. journal_ioprio=prioritate Prioritatea de In/Ie (de la 0 la 7, unde 0 este cea mai mare prioritate) care ar trebui utilizata pentru operaiile de In/Ie trimise de kjournald2 in timpul unei operaii de validare. Aceasta are ca valoare implicita 3, care este o prioritate uor mai mare decat prioritatea de In/Ie implicita. abort Simuleaza efectele apelarii ext4_abort() in scopuri de depanare. Aceasta este utilizata in mod normal la remontarea unui sistem de fiiere care este deja montat. auto_da_alloc|noauto_da_alloc Multe aplicaii defectuoase nu utilizeaza fsync() atunci cand inlocuiesc fiiere existente prin modele precum fd = open("foo.new")/write(fd,...)/close(fd)/ rename("foo.new", "foo") sau mai rau inca fd = open("foo", O_TRUNC)/write(fd,...)/close(fd). Daca auto_da_alloc este activata, ext4 va detecta modelele ,,replace-via-rename" i ,,replace-via-truncate" i va fora alocarea oricaror blocuri de alocare intarziate, astfel incat la urmatoarea confirmare a jurnalului, in modul implicit data=ordered, blocurile de date ale noului fiier sa fie forate pe disc inainte de efectuarea operaiunii rename(). Acest lucru ofera aproximativ acelai nivel de garanii ca i ext3 i evita problema ,,lungimii zero" care se poate intampla atunci cand un sistem se blocheaza inainte ca blocurile de alocare intarziate sa fie forate pe disc. noinit_itable Nu iniializeaza niciun bloc neiniializat al tabelului de noduri-i in fundal. Aceasta caracteristica poate fi utilizata de CD-urile de instalare, astfel incat procesul de instalare sa se poata finaliza cat mai repede posibil; procesul de iniializare a tabelului de noduri-i va fi apoi amanat pana la urmatoarea montare a sistemului de fiiere. init_itable=n Codul de iniiere ,,lazy itable" (tabelul de noduri-i lene) va atepta de n ori numarul de milisecunde necesare pentru a aduce la zero tabelul de noduri-i al grupului de blocuri anterior. Acest lucru minimizeaza impactul asupra performanei sistemului in timp ce tabelul de noduri-i al sistemului de fiiere este iniializat. discard/nodiscard Controleaza daca ext4 ar trebui sa emita comenzi discard/TRIM catre dispozitivul de bloc subiacent atunci cand blocurile sunt eliberate. Acest lucru este util pentru dispozitivele SSD i ,,sparse/thinly-provisioned LUNs" (LUN-urile cu provizionare dispersa/lejera), dar este dezactivat in mod implicit pana la efectuarea unor teste suficiente. block_validity/noblock_validity Aceasta opiune activeaza/dezactiveaza facilitatea integrata in nucleu pentru urmarirea blocurilor de metadate ale sistemului de fiiere in cadrul structurilor interne de date. Aceasta permite alocatorului de blocuri multiple i altor rutine sa localizeze rapid blocurile extents care s-ar putea suprapune cu blocurile de metadate ale sistemului de fiiere. Aceasta opiune este destinata depanarii i, deoarece afecteaza negativ performana, este dezactivata in mod implicit. dioread_lock/dioread_nolock Controleaza daca ext4 ar trebui sa utilizeze sau nu blocarea citirii DIO. Daca opiunea dioread_nolock este specificata, ext4 va aloca un extent neiniializat inainte de scrierea tamponului i va converti extent-ul in iniializat dupa finalizarea IO. Aceasta abordare permite codului ext4 sa evite utilizarea nodului-i mutex, ceea ce imbunataete scalabilitatea pe stocarile de mare viteza. Cu toate acestea, acest lucru nu funcioneaza cu jurnalizarea datelor, iar opiunea dioread_nolock va fi ignorata cu avertizarea nucleului. Reinei ca ruta de cod dioread_nolock este utilizata numai pentru fiierele bazate pe extent. Din cauza restriciilor pe care le cuprinde, aceasta opiune este dezactivata in mod implicit (de exemplu, dioread_lock). max_dir_size_kb=n Aceasta limiteaza dimensiunea directoarelor astfel incat orice incercare de a le extinde dincolo de limita specificata in kilooctei va provoca o eroare ENOSPC. Acest lucru este util in mediile cu memorie limitata, unde un director foarte mare poate cauza probleme grave de performana sau chiar poate provoca ,,Out Of Memory killer"; (de exemplu, daca exista doar 512 Mio de memorie disponibila, un director de 176 Mio poate afecta grav starea sistemului). i_version Activeaza suportul pentru versiunea de noduri-i pe 64 de bii. Aceasta opiune este dezactivata in mod implicit. nombcache Aceasta opiune dezactiveaza utilizarea mbcache pentru deduplicarea atributelor extinse. Pe sistemele in care atributele extinse sunt rareori sau niciodata partajate intre fiiere, utilizarea mbcache pentru deduplicare adauga un volum inutil de calcul. prjquota Opiunea de montare prjquota permite gestionarea cotelor proiectului pe sistemul de fiiere. Avei nevoie de utilitarele de cote pentru a activa i gestiona efectiv sistemul de cote. Aceasta opiune de montare necesita caracteristica sistemului de fiiere project. ATRIBUTELE FIIERELOR Sistemele de fiiere ext2, ext3 i ext4 accepta definirea urmatoarelor atribute de fiier pe sistemele Linux utilizand programul chattr(1): a - doar adaugare A - fara actualizare a timpului de acces (,,atime") d - fara copie de rezerva prin programul dump D - actualizari sincronizate ale directoarelor i - imuabil S - actualizari sincrone u - nu se poate terge (de neters) In plus, sistemele de fiiere ext3 i ext4 accepta urmatorul fanion: j - jurnalizarea datelor In cele din urma, sistemul de fiiere ext4 accepta de asemenea urmatorul fanion: e - format extents Pentru descrieri ale acestor fanioane de atribute, consultai pagina de manual chattr(1). SUPORT PENTRU NUCLEU Aceasta seciune listeaza controlorul sistemului de fiiere (de exemplu, ext2, ext3, ext4) i versiunea nucleului upstream in care a fost acceptata o anumita caracteristica a sistemului de fiiere. Reinei ca, in unele cazuri, funcia era prezenta in versiunile anterioare ale nucleului, dar existau erori grave cunoscute. In alte cazuri, caracteristica poate fi considerata inca intr-o stare experimentala. In cele din urma, reinei ca este posibil ca unele distribuii sa fi transferat caracteristici in nuclee mai vechi; in special versiunile nucleului din anumite ,,enterprise distributions" pot fi extrem de inelatoare. 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 CONSULTAI I mke2fs(8), mke2fs.conf(5), e2fsck(8), dumpe2fs(8), tune2fs(8), debugfs(8), mount(8), chattr(1) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . E2fsprogs versiunea 1.47.3 iulie 2025 EXT4(5)