Provided by: manpages-pl_4.28.0-2_all 

NAZWA
ext2 - drugi rozszerzony (ang. extended) system plików
ext3 - trzeci rozszerzony system plików
ext4 - czwarty rozszerzony system plików
OPIS
Drugi, trzeci i czwarty rozszerzone systemy plików, znane powszechnie jako ext2, ext3 i ext4, są
linuksowymi systemami plików, które były historycznie domyślnymi systemami plików w wielu dystrybucjach
Linuksa. Są to systemy plików ogólnego zastosowania, zaprojektowane w celu uzyskania rozszerzalności i
kompatybilności wstecznej. W szczególności, systemy plików mające być uprzednio używane jako ext2 i ext3,
można zamontować za pomocą sterownika systemu plików ext4. W wielu współczesnych dystrybucjach, do
obsługi żądań zamontowania systemów plików ext2 i ext3, skonfigurowano właśnie sterownik systemu plików
ext4.
CECHY SYSTEMU PLIKÓW
System plików sformatowany jako ext2, ext3 lub ext4 może mieć włączony pewien zestaw z poniższych cech
funkcji systemu plików. Część cech nie jest obsługiwane we wszystkich implementacjach sterowników systemu
plików ext2, ext3 i ext4, zależy to od używanej wersji jądra Linux. W innych systemach operacyjnych,
takich jak GNU/HURD czy FreeBSD, w ich implementacjach ext2 może być obsługiwany jedynie wąski podzbiór
cech systemu plików.
64bit
Umożliwia osiągnięcie przez system plików rozmiaru większego niż 2^32 bloków. Cecha ta jest w
razie potrzeby włączana automatycznie, ale można ją również podać jawnie, jeśli system może
wymagać zmiany rozmiaru na ponad 2^32 bloków, a był mniejszy niż ten próg, gdy go pierwotnie
tworzono. Proszę zauważyć, że niektóre starsze jądra oraz starsze wersje e2fsprogs nie będą
obsługiwały systemu plików z włączoną niniejszą cechą ext4.
bigalloc
Cecha ext4 umożliwiająca przydzielanie klastra bloków tak, że jednostką alokacji jest liczba
bloków do kwadratu. Oznacza to, że każdy bit tradycyjnie będący mapą bitową alokacji bloków, teraz
staje się wskaźnikiem, mówiącym czy klaster jest używany, czy też nie, przy czym klaster składa
się domyślnie z 16 bloków. Cecha może zmniejszyć czas, jaki zajmuje przydzielanie bloków oraz
zmniejszyć fragmentację, szczególnie w przypadku dużych plików. Rozmiar można określić opcją
mke2fs -C.
Uwaga: Cecha bigalloc jest wciąż rozwijana i może nie być w pełni obsługiwana przez używane jądro
oraz posiadać błędy. Szczegóły opisano na stronie internetowej
http://ext4.wiki.kernel.org/index.php/Bigalloc. Opcja może interferować z opóźnioną alokacją (zob.
opcję montowania nodelalloc).
Cecha wymaga włączenia funkcji extent.
casefold
Cecha ext4 zapewnia obsługę kodowania dla katalogów z włączoną flagą casefold (+F), na poziomie
systemu plików. Cecha ta zachowuje nazwy na dysku, lecz pozwala aplikacjom odszukanie pliku w
systemie plików za pomocą wersji równoważnej kodowania nazwy pliku.
dir_index
Używa b-drzew z kluczem do przyspieszenia wyszukiwania w dużych katalogach. Jest to cecha
obsługiwana w systemach plików ext3 i ext4, a ignorowana przez system plików ext2.
dir_nlink
I-węzeł nie może mieć zwykle w ext4 więcej niż 65 000 dowiązań zwykłych (twardych). Dotyczy to
zarówno zwykłych plików jak i katalogów, zatem oznacza to również, że katalog nie może posiadać
więcej niż 64 998 podkatalogów (ponieważ każdy z wpisów „.” i „..”, jak również wpis katalogu w
jego katalogu nadrzędnym, liczą się jako dowiązania zwykłe). Niniejsza cecha umożliwia
podniesienie tego limitu, przez co ext4 użyje wartości dowiązań zwykłych równej 1 jako wskaźnika,
że liczba dowiązań zwykłych do katalogu nie jest znana, gdy liczba dowiązań mogła przekroczyć
maksymalny limit.
ea_inode
Atrybuty rozszerzone pliku wraz z powiązanymi metadanymi, muszą zwykle zmieścić się w i-węźle lub
w bloku atrybutów rozszerzonych związanym z i-węzłem. Cecha ta pozwala, jeśli zajdzie taka
potrzeba, na umieszczenie wartości każdego atrybutu rozszerzonego w blokach danych oddzielnego
i-węzła, zwiększając limity rozmiaru i liczby atrybutów rozszerzonych na plik.
encrypt
Włącza obsługę szyfrowania bloków z danymi oraz nazw plików na poziomie systemu plików. Metadane
i-węzłów (znaczniki czasu, rozmiar pliku, własność użytkownika/grupy itp.) nie są szyfrowane.
Cecha ta jest najbardziej przydatna w systemach plików z wieloma użytkownikami lub gdy nie
wszystkie pliki mają być zaszyfrowane. W wielu przypadkach, szczególnie w systemach używanych
przez jednego użytkownika, szyfrowanie na poziomie urządzenia blokowego, za pomocą dm-crypt, może
zapewnić zdecydowanie większe bezpieczeństwo.
ext_attr
Cecha włącza korzystanie z atrybutów rozszerzonych. Jest obsługiwana w ext2, ext3 i ext4.
extent
Ta cecha ext4 pozwala na przechowywanie przypisań numerów bloków logicznych określonego i-węzła do
bloków fizycznych na urządzeniu dyskowym w postaci drzewa ekstentów, które jest efektywniejszą
strukturą danych od tradycyjnych bloków niebezpośrednich, używanych w systemach plików ext2 i
ext3. Używanie drzewa ekstentów zmniejsza narzut bloków metadanych, poprawia wydajność systemu
plików i zmniejsza czas potrzebny do wykonania e2fsck(8) na systemie plików (uwaga: ze względów
historycznych/kompatybilności wstecznej, jako prawidłowa nazwa akceptowana jest oprócz extent
także extents).
extra_isize
Ta cecha ext4 rezerwuje określoną ilość miejsca w każdym i-węźle na metadane, takie jak znaczniki
nanosekundowe i czas utworzenia pliku, nawet jeśli aktualne jądro nie wymaga rezerwacji tak dużej
przestrzeni. Bez tej cechy, jądro zarezerwuje przestrzeń na funkcje, których aktualnie potrzebuje,
a reszta może być zajęta przez atrybuty rozszerzone.
W przypadku tej cechy, użyteczny rozmiar i-węzła musi wynosić co najmniej 256 bajtów.
filetype
Cecha włącza przechowywanie informacji o typie pliku we wpisach katalogu. Cecha ta jest
obsługiwana w ext2, ext3 i ext4.
flex_bg
Ta cecha ext4 pozwala na umieszczanie metadanych grup poszczególnych bloków (mapy bitowych
alokacji oraz tablic i-węzłów) w dowolnym miejscu nośnika. Dodatkowo, mke2fs(8) umieści metadane
grup poszczególnych bloków razem, począwszy od pierwszej grupy bloków każdej „grupy flex_bg”.
Rozmiar grupy flex_bg można określić za pomocą opcji -G.
has_journal
Tworzy dziennik, aby zapewnić spójność systemu plików nawet po wystąpieniu nieprawidłowego
zamknięcia. Ustawienie tej cechy systemu plików jest równoważne podaniu opcji -j programowi
mke2fs(8) lub tune2fs(8). Cecha ta jest obsługiwana przez ext3 i ext4 oraz ignorowana przez
sterownik systemu plików ext2.
huge_file
Ta cecha ext4 pozwala na osiąganie przez pliki rozmiaru większego niż 2 terabajty.
inline_data
Pozwala na przechowywanie danych w przestrzeni i-węzła i atrybutów rozszerzonych.
journal_dev
Ta cecha jest włączana na superbloku, znajdującym się w zewnętrznym urządzeniu dziennika. Rozmiar
bloku zewnętrznego dziennika musi być taki sam, jak w przypadku używającego go systemu plików.
Zewnętrzne urządzenie dziennika może być użyte przez system plików, za pomocą opcji -J
device=<urządzenie-zewnętrzne> programu mke2fs(8) lub tune2fs(8).
large_dir
Cecha ta zwiększa limit liczby plików na katalog, przez zwiększenie maksymalnego rozmiaru
katalogów i, w przypadku katalogów korzystających z b-drzewami z kluczem (zob. dir_index),
maksymalną wysokość b-drzewa z kluczem, używanego do przechowywania wpisów katalogów.
large_file
Ten znacznik cechy jest ustawiany automatycznie przez współczesne jądra, gdy utworzy się plik o
rozmiarze większym niż 2 gigabajty. Bardzo stare jądra nie potrafią obsłużyć dużych plików, zatem
cecha ta służyła do zapobiegania montowania systemów plików, których stare jądra nie mogły
zrozumieć.
metadata_csum
Ta cecha ext4 włącza sumy kontrolne metadanych. Sumy kontrolne dotyczą wszystkich metadanych
systemu plików (superbloku, bloków deskryptora grupy, map bitowych i-węzła i bloku, katalogów i
bloków drzewa ekstentów). Algorytm sum kontrolnych używany do bloków metadanych różni się od
wykorzystywanego do deskryptorów grup, przy włączonej funkcji uninit_bg. Te dwie cechy są
niekompatybilne i preferowana jest cecha metadata_csum, zamiast uninit_bg.
metadata_csum_seed
Cecha pozwala na przechowywanie przez system plików ziarna sum kontrolnych metadanych w
superbloku, co pozwala na zmianę, przez administratora, UUID-u systemu plików używającego
metadata_csum, gdy jest on zamontowany.
meta_bg
Ta cecha ext4 pozwala na zmianę systemów plików online, bez potrzeby jawnego rezerwowania
przestrzeni na wzrost rozmiaru deskryptorów grupy bloków. Schemat ten służy również do zmiany
systemów plików, które mają więcej niż 2^32 bloków. Nie zaleca się ustawiania tej cechy przy
tworzeniu systemu plików, ponieważ ta alternatywna metoda przechowywania bloku deskryptorów grup
spowolni montowania systemu plików, a nowsze jądra mogą ją automatycznie włączyć, gdy będzie to
konieczne przy dokonywaniu zmiany rozmiaru systemu plików online, gdy zabraknie przestrzeni
dostępnej w zmienianym rozmiarze i-węzła.
mmp
Ta cecha ext4 udostępnia ochronę przed wielokrotnym montowaniem (ang. multiple mount protection —
MMP). MMP pomaga chronić system plików przed wielokrotnym zamontowaniem i jest przydatna w
środowiskach korzystających z wspólnych nośników danych.
orphan_file
Ta funkcja ext4 eliminuje potencjalne wąskie gardło w zastosowaniach, w których następuje wiele
równoległych przycięć lub rozszerzeń plików. Jest obsługiwana w jądrach Linux od wersji 5.15 oraz
przez e2fsprogs od wersji 1.47.0.
project
Ta cecha ext4 udostępnia obsługę przydziałów dyskowych na projekt. Dzięki tej cesze, w
zamontowanym systemie plików pilnowany będzie identyfikator projektu i-węzła.
quota
Tworzy i-węzły przydziałów dyskowych (i-węzeł #3 do przydziałów użytkownika (userquota) i i-węzeł
#4 do przydziałów grupy (group quota)) i ustawia je w superbloku. Dzięki tej cesze, w zamontowanym
systemie plików przydziały będą automatycznie włączone.
Powoduje, że pliki przydziałów dyskowych (tj. user.quota i group.quota, które istniały w
zaprojektowanych dawniej przydziałach dyskowych) będą ukrytymi i-węzłami.
resize_inode
Cecha systemu plików wskazuje, że zarezerwowano przestrzeń, dzięki której tablica deskryptora
grupy bloków może być rozszerzona przy zmianie rozmiaru zamontowanego systemu plików. Operacja
zmiany rozmiaru zamontowanego systemu plików jest dokonywana przez jądro, po jej wyzwoleniu za
pomocą resize2fs(8). Domyślnie, mke2fs(8) postara się zarezerwować wystarczająco dużo miejsca, aby
system plików mógł być zwiększony do rozmiaru 1024 razy większego niż rozmiar początkowy. Można to
zmienić za pomocą rozszerzonej opcji resize.
Cecha ta wymaga włączenia cechy sparse_super lub sparse_super2.
sparse_super
Cecha ustawiana na wszystkich współczesnych systemach plików ext2, ext3 i ext4. Wskazuje, że kopie
deskryptorów grupy bloków i superbloku są dostępne tylko w kilku grupach bloków, nie we
wszystkich.
sparse_super2
Cecha ta wskazuje, że będą występowały co najwyżej dwie kopie deskryptorów grupy bloków i
superbloku. Grupy bloków przechowujące kopię/kopie deskryptorów grupy bloków i superbloku są
przechowywane w superbloku, ale zwykle jedna będzie przechowywana na początku grupy bloków #1, a
jeden w ostatniej grupie bloków w systemie plików. Cechy te są generalnie bardziej ekstremalną
wersją sparse_super i są zaprojektowane w celu udostępnienia znacznie większej ciągłej przestrzeni
dysku plikom z danymi.
stable_inodes
Oznacza numery i-węzłów i UUID systemu plików jako stabilne. resize2fs(8) nie pozwoli na
zmniejszanie systemu plików z tą cechą, a tune2fs(8) nie pozwoli na zmienianie jego UUID. Cecha ta
pozwala na korzystanie z wyspecjalizowanych ustawień szyfrowania, używających numerów i-węzłów
oraz UUID-u. Proszę zauważyć, że wciąż trzeba oddzielnie włączyć cechę encrypt. stable_inodes jest
cechą typu „compat”, tak więc starsze jądra dozwalają ją.
uninit_bg
Ta cecha systemu plików ext4 wskazuje, że deskryptory grupy bloków będą zabezpieczone sumami
kontrolnymi, dzięki czemu mke2fs(8) może bezpiecznie utworzyć system plików bez inicjowania
wszystkich grup bloków. Jądro będzie utrzymywało wartość nieużywanych i-węzłów oraz zainicjuje
bloki i tablicę i-węzłów w sposób leniwy. Cecha ta przyspiesza również sprawdzanie systemu plików
za pomocą e2fsck(8) oraz przyspiesza utworzenie systemu plików przy użyciu mke2fs(8).
verity
Włącza obsługę zabezpieczeń plików verity. Pliki verity są tylko do odczytu, a ich dane są w
sposób przezroczysty weryfikowane wobec drzewa Merkle, ukrytego za końcem pliku. Za pomocą skrótu
korzenia drzewa Merkle, plik verity może być w sposób efektywny uwierzytelniony, niezależnie od
jego rozmiaru.
Cecha jest najbardziej przydatna do uwierzytelniania ważnych plików tylko do odczytu w systemach
plików do odczytu i zapisu. Jeśli sam system plików jest tylko do odczytu, to używanie dm-verity
do uwierzytelnienia całego urządzenia blokowego może zapewnić znacznie wyższe bezpieczeństwo.
OPCJE MONTOWANIA
Niniejszy rozdział opisuje opcje montowania, które są typowe dla ext2, ext3 i ext4. Oprócz tego można
używać ogólnych opcji montowania; więcej szczegółów w podręczniku mount(8).
Opcje montowania ext2
System plików „ext2” jest standardowym linuksowym systemem plików. Od Linuksa 2.5.46, w przypadku
większości opcji, ustawienie domyślne zależy od superbloku systemu plików. Ustawia się je za pomocą
tune2fs(8).
acl|noacl
Obsługa list kontroli dostępu (ang. Access Control Lists) POSIX (lub nie). Więcej szczegółów w
podręczniku acl.
bsddf|minixdf
Ustawia zachowanie wywołania systemowego statfs. Zachowanie minixdf zwraca w polu f_blocks
całkowitą liczbę bloków w systemie plików, natomiast zachowanie bsddf (domyślne) odejmuje bloki
narzutu, wykorzystywane przez system plików ext2, które nie są dostępne do przechowywania danych.
Oto efekt:
% mount /k -o minixdf; df /k; umount /k
System plików 1K-bl użyte dostępne %uż zamont. na
/dev/sda6 2630655 86954 2412169 3% /k
% mount /k -o bsddf; df /k; umount /k
System plików 1K-bl użyte dostępne %uż zamont. na
/dev/sda6 2543714 13 2412169 0% /k
Proszę zauważyć, że ten przykład ukazuje dodanie opcji wiersza poleceń do opcji przekazanych w
/etc/fstab.
check=none lub nocheck
Przy zamontowaniu nie jest dokonywane sprawdzanie. Jest to zachowanie domyślne. Jest szybkie.
Rozsądnym jest wykonywać co jakiś czas e2fsck(8) np. w czasie rozruchu systemu. Zachowania inne
niż domyślne nie są już obsługiwane (opcje check=normal i check=strict zostały usunięte). Proszę
zauważyć, że te opcje montowania nie muszą być obsługiwane, jeśli do systemów pliku ext2 i ext3
użyto sterownika jądra ext4.
debug Wypisuje informacje debugowania przy każdym montowaniu (oraz ponownym montowaniu).
errors={continue|remount-ro|panic}
Określa zachowanie przy wystąpieniu błędu (odpowiednio: ignoruje błędy, oznacza system jako
zawierający błędy i kontynuuje; montuje system ponownie jako tylko do odczytu; prowadzi do paniki
jądra i zatrzymania systemu). Zachowanie domyślne jest ustawiane w superbloku systemu plików i
można je zmienić za pomocą tune2fs(8).
grpid|bsdgroups i nogrpid|sysvgroups
Opcje te określają jaki identyfikator grupy otrzymuje nowo utworzony plik. Gdy ustawione jest
grpid jest to identyfikator grupy katalogu, w którym go utworzono. W przeciwnym razie (tak jest
domyślnie) otrzymuje identyfikator grupy systemu plików (fsgid) bieżącego procesu, chyba że
katalog ma ustawiony bit uprawnień sgid — wówczas plik otrzymuje identyfikator grupy katalogu, w
którym go utworzono, a jeśli nowy plik jest katalogiem, to dziedziczy również bit sgid.
grpquota|noquota|quota|usrquota
Opcja montowania usrquota (równoważna: quota) włącza obsługę przydziałów dyskowych użytkownika w
systemie plików. Opcja grpquota włącza obsługę przydziałów grup. Konieczne jest skorzystanie z
narzędzi do przydziałów dyskowych, aby faktycznie włączyć i zarządzać przydziałami dyskowymi.
nouid32
Wyłącza 32-bitowe UID-y i GID-y. Umożliwia to współdziałanie ze starszymi jądrami, które zachowują
wartości 16-bitowe i ich oczekują.
oldalloc lub orlov
Używa starego alokatora lub alokatora Orlov do nowych i-węzłów. Domyślny jest Orlov.
resgid=n i resuid=n
System plików ext2 rezerwuje określony procent dostępnej przestrzeni (domyślnie 5%, zob. mke2fs(8)
i tune2fs(8)). Opcje te określają tego, kto może korzystać z zarezerwowanych bloków (w
przybliżeniu: kto ma określony identyfikator użytkownika (resuid) lub należy do podanej grupy
(resgid)).
sb=n Zamiast używania zwykłego superbloku, używa alternatywnego superbloku podanego w n. Opcja ta może
się przydać, gdy podstawowy superblok został uszkodzony. Położenie superbloku zapasowego zależy od
rozmiaru bloku systemu plików, liczby bloków na grupę oraz cech takich jak sparse_super.
Położenie dodatkowej kopii zapasowej superbloku może być określone poprzez użycie programu
mke2fs(8) z opcją -n wypisującą położenia superbloków, przy założeniu, że programowi mke2fs(8)
podano argumenty spójne z charakterystyką danego systemu plików (np. rozmiarem bloku, liczbą
bloków na grupę, sparse_super itd.)
Numer bloku używa 1000 jednostek. Zatem aby użyć logicznego bloku 32768 w systemie plików z 4000
bloków, należy podać „sb=131072”.
user_xattr|nouser_xattr
Obsługuje (lub nie) atrybuty rozszerzone „user.”
Opcje montowania ext3
System plików ext3 jest wersją systemu plików ext2 poszerzoną o dziennikowanie. Obsługuje te same opcje
co ext2, a dodatkowo następujące:
journal_dev=numer-urządzenia/journal_path=ścieżka
Gdy zmianie ulegną numery główne/poboczne urządzenia zewnętrznego dziennika, opcje te pozwalają
wskazać nowe położenie dziennika. Urządzenie dziennika jest identyfikowane albo nowymi numerami:
głównym i pobocznym zakodowanymi w numerze-urządzenia, albo ścieżką do urządzenia.
norecovery/noload
Nie ładuje dziennika przy montowaniu. Proszę zauważyć, że jeśli system plików został niepoprawnie
odmontowany, to pominięcie odtworzenie dziennika spowoduje istnienie niespójności w systemie
plików, co może doprowadzić do wielu problemów.
data={journal|ordered|writeback}
Określa tryb dziennikowania plików z danymi. Metadane są zawsze dziennikowane. Aby użyć trybu
innego niż ordered w głównym systemie plików, należy przekazać tryb do jądra, jako parametr
rozruchowy np. rootflags=data=journal.
journal
Wszystkie dane są zatwierdzane do dziennika, przed zapisem do głównego systemu plików.
ordered
Tryb domyślny. Wymuszane jest zapisywanie wszystkich danych bezpośrednio do głównego
systemu plików, zanim ich metadane są zatwierdzane w dzienniku.
writeback
Kolejność danych nie jest zachowywana – dane mogą być zapisywane do głównego systemu plików
po zatwierdzeniu ich metadanych do dziennika. Ma to być opcja zapewniająca największą
przepustowość. Gwarantuje wewnętrzną spójność systemu plików, ale może spowodować
pojawienie się starych plików po załamaniu i odtworzeniu dziennika.
data_err=ignore
Gdy wystąpi błąd w buforze plików danych w trybie ordered, ogranicza się jedynie do wypisania
komunikatu o błędzie.
data_err=abort
Gdy wystąpi błąd w buforze plików danych w trybie ordered, przerywa dziennik.
barrier=0 / barrier=1
Wyłącza / włącza używanie barier zapisu w kodzie jbd (urządzenia blokowego dziennika). barrier=0
wyłącza je, a barrier=1 włącza (tak jest domyślnie). Wymagany jest również stos wejścia/wyjścia
potrafiący obsługiwać bariery, a jeśli jbd otrzyma błąd przy zapisie barier, ponownie wyłączy
bariery wypisując ostrzeżenie. Bariery zapisu wymuszają poprawną kolejność na dysku w przypadku
zatwierdzeń dziennika, co czyni dyskowe ulotne bufory zapisu bezpiecznymi do użycia, przy pewnym
uszczerbku wydajności. Jeśli dyski komputera są w jakiś sposób zabezpieczone bateryjnie,
wyłączenie barier może bezpiecznie zwiększyć wydajność.
commit=liczba-sekund
Uruchamia zatwierdzenie dziennika co liczbę-sekund. Domyślna wartość to 5 sekund. Zero oznacza
wartość domyślną.
user_xattr
Włącza rozszerzone atrybuty użytkownika. Więcej informacji w podręczniku xattr(7).
jqfmt={vfsold|vfsv0|vfsv1}
Oprócz starego systemu przydziałów dyskowych (jak w ext2, jqfmt=vfsold, inaczej quota w wersji 1)
ext3 obsługuje również przydziały dziennikowane (quota w wersji 2). jqfmt=vfsv0 lub jqfmt=vfsv1
włącza przydziały dziennikowane. Mają one tę przewagę, że nawet po załamaniu systemu nie ma
konieczności sprawdzania przydziałów. Gdy włączona jest cecha systemu plików quota, to przydziały
dziennikowane są używane automatycznie, a ta opcja montowania jest ignorowana.
usrjquota=aquota.user|grpjquota=aquota.group
Przy przydziałach dziennikowanych (jqfmt=vfsv0 lub jqfmt=vfsv1), wymagane są opcje montowania
usrjquota=aquota.user i grpjquota=aquota.group, wskazujące systemowi przydziałów pliki bazy danych
przydziałów, które mają być używane. Gdy włączona jest cecha systemu plików quota, to przydziały
dziennikowane są używane automatycznie, a ta opcja montowania jest ignorowana.
Opcje montowania ext4
System plików ext4 stanowi wyższy poziom zaawansowania systemu plików ext3 i zawiera usprawnienia
skalowalności i niezawodności w celu obsługi dużych systemów plików.
Opcje 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 są wstecznie kompatybilne z
ext3 i ext2.
journal_checksum | nojournal_checksum
Opcja journal_checksum włącza sumy kontrolne transakcji dziennika. Pozwoli to na wykrywanie błędów
w jądrze przez kod odzyskiwania w e2fsck i jądrze. Jest to zmiana kompatybilna, która jest
ignorowana przez starsze jądra.
journal_async_commit
Bloki zatwierdzeń mogą być zapisywane na dysk bez czekania na bloki deskryptora. Po włączeniu,
starsze jądra nie będą mogły zamontować urządzenia. Powoduje wewnętrzne włączenie opcji
journal_checksum.
barrier=0 / barrier=1 / barrier / nobarrier
Te opcje montowania mają taki sam skutek jak w ext3. W celu zapewnienia spójności z innymi opcjami
montowania ext4 dodano opcje montowania „barrier” i „nobarrier”.
System plików ext4 domyślnie włącza bariery zapisu.
inode_readahead_blks=n
Ten parametr dostosowania kontroluje maksymalną liczbę bloków tablicy i-węzłów, którą zbuforuje
algorytm odczytania z wyprzedzeniem tablicy i-węzłów ext4. Wartość musi być potęgą dwójki.
Domyślną wartością są 32 bloki.
stripe=n
Liczba bloków systemu plików, których mballoc spróbuje użyć do przydzielenia danych i wyrównania.
W przypadku systemów RAID5/6, powinna być to liczba dysków z danych * rozmiar cząstki (ang. chunk)
RAID w blokach systemu plików.
delalloc
Opóźnia przydzielenie bloków do czasu zapisu.
nodelalloc
Wyłącza opóźnioną alokację. Bloki są przydzielane, gdy dane są kopiowane z bufora użytkownika do
bufora strony.
max_batch_time=mikrosekundy
Maksymalny czas, jaki ext4 powinien czekać na dodatkowe operacje systemu plików, w celu dokonania
wspólnej, synchronicznej operacji zapisu. Ze względu na to, że synchroniczne operacje zapisu
wymuszają zatwierdzenie, a później odczekują na zakończenie wejścia/wyjścia, nie jest to
kosztowne, a może dać duży zysk przepustowości, oczekuje się niewielki czas, aby sprawdzić
ewentualne inne transakcje mogące być podczepione do zapisu synchronicznego. Algorytm został
zaprojektowany do automatycznego dostosowania się do szybkości dysku, mierząc czas, jaki zajmuje
(przeciętnie) zakończenie zatwierdzenia transakcji. Można to nazwać „czasem zatwierdzenia”. Jeśli
czas, jaki trwała transakcja był mniejszy od czasu zatwierdzenia, ext4 będzie próbował odczekać
przez czas zatwierdzenia, aby sprawdzić czy inne operacje dołączą do transakcji. Czas
zatwierdzenia jest ograniczony przez max_batch_time, które domyślnie wynosi 15000 µs (15 ms). Tę
optymalizację można całkowicie wyłączyć ustawiając max_batch_time na 0.
min_batch_time=mikrosekundy
Ten parametr ustawia czas zatwierdzenia (zgodnie z powyższym opisem) na minimum min_batch_time.
Domyślnie wynosi to zero mikrosekund. Zwiększenie tego parametru może zwiększyć przepustowość,
przy obciążeniach wielowątkowych, synchronicznych na bardzo szybkich dyskach, kosztem zwiększonych
opóźnień.
journal_ioprio=priorytet
Priorytet wejścia/wyjścia (od 0 do 7, gdzie 0 jest najwyższym priorytetem), który powinien być
użyty do operacji wejścia/wyjścia przedkładanych przez kjournald2 podczas zatwierdzenia. Domyślnie
ustawi wartość 3, czyli nieco więcej niż domyślny priorytet wejścia/wyjścia.
abort Symuluje efekt wywołania ext4_abort() do celów debugowania. Opcja używana zwykle przy ponownym
montowaniu już zamontowanego systemu plików.
auto_da_alloc|noauto_da_alloc
Wiele niechlujnych aplikacji nie używa fsync() przy zastępowaniu istniejących plików wzorcami
takimi jak
fd = open("foo.new")/write(fd,...)/close(fd)/ rename("foo.new", "foo")
albo nawet gorzej
fd = open("foo", O_TRUNC)/write(fd,...)/close(fd).
Jeśli włączona jest opcja auto_da_alloc, to ext4 wykryje wzorce „zastąp przez zmianę nazwy” oraz
„zastąp przez docięcie” i wymusi sytuację, w której odroczone przydzielenia bloków są przydzielane
w ten sposób, że przy następnym zatwierdzeniu dziennika, w domyślnym trybie data=ordered, przed
zatwierdzeniem operacji rename() wymuszany jest zapis bloków danych nowego pliku na dysk. To daje
zbliżony poziom gwarancji jak ext3, i zapobiega problemowi „zerowej długości”, jaki może
przydarzyć się przy załamaniu systemu, przed wymuszeniem bloków odroczonej alokacji na dysk.
noinit_itable
Nie inicjuje niezainicjowanych bloków tablicy i-węzłów w tle. Funkcja przydatna na płytach
instalacyjnych, dzięki czemu proces instalacji może zakończyć się tak szybko jak to możliwe;
proces inicjalizacji tablicy i-węzłów będzie wtedy odroczony do następnego zamontowania systemu
plików.
init_itable=n
Leniwy kod inicjacji i-węzłów odczeka n razy liczbę milisekund, jaką zajęło wyzerowanie
poprzedniej grupy bloków w tabeli i-węzłów. Minimalizowany jest w ten sposób wpływ na wydajność
systemu, jaki wywiera inicjowanie tabeli i-węzłów systemu plików.
discard/nodiscard
Kontroluje, czy ext4 powinien wydawać polecenia discard/TRIM do podległego urządzenia blokowego w
momencie zwolnienia bloków. Przydatne do urządzeń SSD oraz rozszerzalnych LUN-ów używających
plików z dziurami, lecz domyślnie jest wyłączona, do momentu aż zostanie wystarczająco dokładnie
przetestowana.
block_validity/noblock_validity
Ta opcja włącza/wyłącza mechanizm jądra służący do śledzenia bloków metadanych systemu plików w
wewnętrznych strukturach danych. Pozwala m.in wieloblokowemu alokatorowi na szybką lokalizację
ekstentów, które mogą się nakładać na bloki metadanych systemu plików. Opcja jest przeznaczona do
celów debugowania i jest domyślnie wyłączona, ponieważ negatywnie wpływa na wydajność.
dioread_lock/dioread_nolock
Kontroluje, czy ext4 powinien używać (czy nie) blokowania odczytu DIO (bezpośredniego
wejścia/wyjścia). Jeśli podano opcję dioread_nolock, to ext4 przydzieli niezainicjowany ekstent
przed zapisem bufora i przekształci ekstent w celu jego zainicjowania już po ukończeniu
wejścia/wyjścia. Takie podejście pozwala na uniknięcie używania przez kod ext4 zatrzasków
i-węzłów, co zwiększa skalowalność na nośnikach o dużej szybkości. Nie współdziała jednak z
dziennikowaniem danych, opcja dioread_nolock zostanie wówczas zignorowana, a jądro wypisze
ostrzeżenie. Proszę zauważyć, że kod dioread_nolock jest używany wyłącznie do plików
korzystających z ekstentów. Ze względu na wszystkie opisane ograniczenia, opcja jest domyślnie
wyłączona (obowiązuje dioread_lock).
max_dir_size_kb=n
Opcja ogranicza rozmiar katalogów, a każda próba wykroczenia poza podany limit n (w kilobajtach)
poskutkuje błędem ENOSPC. Jest to przydatne w środowiskach o ograniczonej pamięci operacyjnej,
gdzie bardzo duże katalogi mogą spowodować poważne problemy z wydajnością, a nawet wywołać
mechanizm OOM-killera (przykładowo, gdy dostępne jest tylko 512 MiB pamięci, katalog o wielkości
176 MiB może poważnie ograniczyć wydajność systemu).
i_version
Włącza obsługę 64-bitowej wersji i-węzłów. Opcja domyślnie wyłączona.
nombcache
Opcja wyłącza korzystanie z mbcache w celu deduplikacji atrybutów rozszerzonych. W systemach,
gdzie atrybuty rozszerzone są rzadko (lub nigdy) dzielone między plikami, użycie bufora mbcache do
deduplikacji niepotrzebnie zwiększa narzut obliczeniowy.
prjquota
Opcja montowania prjquota włącza w systemie plików obsługę przydziałów dyskowych na poziomie
projektu. Konieczne jest skorzystanie z narzędzi do przydziałów dyskowych, aby faktycznie włączyć
i zarządzać przydziałami dyskowymi. Niniejsza opcja montowania wymaga cechy project systemu
plików.
ATRYBUTY PLIKU
Systemy plików ext2, ext3 i ext4 obsługują ustawianie następujących atrybutów plików w systemach Linux,
za pomocą narzędzia chattr(1):
a - tylko dopisywanie (ang. append)
A - bez aktualizacji czasu dostępu (atime)
d - bez zrzucania (ang. dump)
D - synchroniczna aktualizacja katalogu (ang. directory)
i - niezmienialny (ang. immutable)
S - aktualizacje synchroniczne
u - odwracalne kasowanie (ang. undeletable)
Oprócz tego, systemy plików ext3 i ext4 obsługują także:
j - dziennikowanie danych (ang. journaling)
Ponadto, system plików ext4 obsługuje również:
e - format ekstentów
Opis każdego z atrybutów znajduje się w podręczniku systemowym chattr(1).
OBSŁUGA W JĄDRZE
Niniejszy rozdział opisuje sterownik systemu plików (np. ext2, ext3, ext4) oraz wersję jądra, w której
dodano obsługę danej cechy systemu plików. Proszę zauważyć, że niekiedy cecha była obecna we
wcześniejszych wersjach jądra, ale znane były poważne błędy. W niektórych przypadkach cecha może być
wciąż uważana za eksperymentalną. Proszę również zwrócić uwagę, że w niektórych dystrybucjach
przeniesiono obsługę cech do starszych jąder; w szczególności wersje jądra w niektórych „dystrybucjach
biznesowych” mogą być niezwykle mylące.
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 (zmiana rozmiaru online)
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
ZOBACZ TAKŻE
mke2fs(8), mke2fs.conf(5), e2fsck(8), dumpe2fs(8), tune2fs(8), debugfs(8), mount(8), chattr(1)
TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
E2fsprogs wersja 1.47.2 styczeń 2025 EXT4(5)