System plików ReiserFs

Podobne dokumenty
System plików JFS. 1 Najważniejsze informacje. Mateusz Zakrzewski. 18 stycznia JFS to skrót od Journalled File System.

Tadeusz Pankowski

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

ReiserFS i Reiser4 Dominik Klimczak Creative Commons License

ReiserFS i Reiser 4 FS

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Wysokość drzewa Głębokość węzła

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Podstawy Informatyki. Metody dostępu do danych

Bazy danych. Andrzej Łachwa, UJ, /15

Przykładowe B+ drzewo

Każdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:

Listy, kolejki, stosy

Porządek symetryczny: right(x)

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

Podstawowe wiadomości o systemach plików.

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Sortowanie. Bartman Jacek Algorytmy i struktury

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Windows Commander (WinCmd)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Wykład 2. Drzewa poszukiwań binarnych (BST)

Wykład 6. Drzewa poszukiwań binarnych (BST)

Programowanie obiektowe i C++ dla matematyków

Definicja pliku kratowego

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Systemy plików FAT, FAT32, NTFS

System plików. Warstwowy model systemu plików

Algorytmy i struktury danych

Haszowanie (adresowanie rozpraszające, mieszające)

Bazy danych wykład ósmy Indeksy

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

dr inż. Jarosław Forenc

ALGORYTMY I STRUKTURY DANYCH

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Wstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych

Distributed Hash Tables i ich zastosowania

Zarządzanie partycjami

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

Drzewa poszukiwań binarnych

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

sprowadza się od razu kilka stron!

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

System plików przykłady. implementacji

Drzewa poszukiwań binarnych

Wykład 8. Drzewa AVL i 2-3-4

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

Fizyczna organizacja danych w bazie danych

Algorytmy i struktury danych

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

Algorytmy i struktury danych. wykład 5

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

System plików przykłady implementacji

Drzewa czerwono-czarne.

Wyszukiwanie w BST Minimalny i maksymalny klucz. Wyszukiwanie w BST Minimalny klucz. Wyszukiwanie w BST - minimalny klucz Wersja rekurencyjna

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Drzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany

FUNKCJA LINIOWA - WYKRES

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Struktury danych: stos, kolejka, lista, drzewo

e-podręcznik dla seniora... i nie tylko.

System plików warstwa logiczna

Wiadomości i umiejętności

Praca w sieci z serwerem

O higienie pracy, komputerze, sieciach komputerowych i Internecie

Skorzystaj z Worda i stwórz profesjonalnie wyglądające dokumenty.

Sortowanie bąbelkowe

Teoretyczne podstawy informatyki

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

Wstęp BTRFS Podsumowanie. System plików BTRFS. Maciej Łaszcz

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

MS Word Długi dokument. Praca z długim dokumentem. Kinga Sorkowska

Luty 2001 Algorytmy (4) 2000/2001

Matematyka dyskretna - 7.Drzewa

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Równania wstawiany jest obiekt równania. Stopki wstawia odpowiednią treść do stopki strony. Tabele dodaje obiekt tabeli.

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

ZASADY PROGRAMOWANIA KOMPUTERÓW

. Podstawy Programowania 2. Drzewa bst - część druga. Arkadiusz Chrobot. 12 maja 2019

ALGORYTMY I STRUKTURY DANYCH

7a. Teoria drzew - kodowanie i dekodowanie

1. Zaczynamy! (9) 2. Edycja dokumentów (33)

T: Sposoby zwiększania efektywności pracy systemu.

Podstawy Rejestru systemu. Poddrzewa

Transkrypt:

System plików ReiserFs Mateusz Zakrzewski 18 stycznia 2004 1 Najważniejsze informacje. Autor tego systemu plików: Hans Reiser oraz firma Namesys. ReiserFs to skrót od Reiser File System. Wersja 3 to najnowsza stabilna wersja ReiserFs a. Jej zmiany są związane wyłącznie z usuwaniem błedów (ostatnio to nie jest konieczne). Wersja 4 to wersja najintensywniej rozwijana. 2 Zalety ReiserFs a. Umożliwia szybki restart systemu po awarii dzięki księgowaniu. Jest efektywny, zwłaszcza, gdy w systemie jest dużo małych plików. Wykorzystuje drzewa zrównoważone, co umożliwia szybkie wykonywanie operacji wstawiania, wyszukiwania i usuwania informacji. 1

Struktura drzewa w systemie plików ReiserFs w wersji 3. To jest B+ drzewo Kazdy wezel jest tej samej wielkosci. Węzły, które nie zawierają metadanych to węzły niesformatowane. Węzły, które składają się z listy wpisów, to węzły sformatowane. Pozostałe węzły to węzły wewnętrzne. Węzły niesformatowane znajdują się na najniższym poziomie, węzły sformatowane znajdują się na pierwszym poziomie, węzły wewnętrzne znajdują się na pozostałych poziomach. Informacje trzymane w drzewie są podzielone na wpisy. Rozmiar każdego wpisu jest mniejszy od rozmiaru węzła. W każdym węźle sformatowanym jest przynajmniej jeden wpis. Małe pliki składają się z jednego wpisu, duże pliki składają się z wielu wpisów. BLOB to skrót od Binary Large Object. W BLOB ach trzymane są duże pliki. 3 Zawartość węzłów drzewa. 3.1 Węzeł niesformatowany. Węzły niesformatowane nie zawierają metadanych. Węzły wewnętrzne zawierają tylko metadane. Węzły sformatowane zawierają metadane i być może dane które nie są metadanymi, ponieważ mogą zawierać małe pliki. 2

3.2 Liść. IH oznacza nagłówek wpisu. Item oznacza wpis. Block_Head oznacza nagłówek bloku. Pomiędzy n-tym nagłówkiem wpisu, a n-tym wpisem jest wolne miejsce. Dzięki takiej strukturze węzła sformatowanego można łatwo dodać nowy wpis tzn. nie ma potrzeby przemieszczania innych wpisów. 3.3 Wpis. Wpisy dzielą się na: Wpisy bezpośrednie: zawierają małe pliki (mniejsze od rozmiaru węzła) oraz końcówki większych plików. Wpisy pośrednie: zawierają listę wskaźników do węzłów niesformatowanych. Wpisy katalogowe: zawierają listę kluczy pozycji w katalogu oraz ich nazwy. Wpisy informacyjne: zawierają dane, które system operacyjny przechowuje w strukturze stat, czyli np.: właściciel pliku, prawa dostępu, czas modyfikacji pliku, ilość bloków zajmowanych przez plik itd. Nagłówek każdego wpisu zawiera m.in: Klucz. Długość wpisu. Offset wpisu wewnątrz bloku. Ponadto każdy nagłówek wpisu pośredniego zawiera informację o tym ile jest wolnego miejsca w ostatnim węźle niesformatowanym. Ta informacja nie jest potrzebna, gdy końcówki dużych plików trzymane są we wpisach bezpośrednich, ale można wyłączyć pakowanie końcówek. Wtedy końcówki dużych plików są trzymane w częściowo wypełnionych węzłach niesformatowanych i miejsce na dysku jest mniej efektywnie wykorzystywane, ale szybciej wykonywane są operacje na drzewie. Nagłówek katalogu zawiera informację ile pozycji w katalogu zawiera dany wpis katalogowy. 3

3.4 Węzeł wewnętrzny. Key oznacza klucz. Jeżeli chcemy znaleźć wpis w drzewie, to porównujemy klucze w węźle z kluczem wpisu, który chcemy znaleźć, aby się dowiedzieć w którym poddrzewie się on znajduje. P oznacza wskaźnik do poddrzewa. Na końcu bloku znajduje się wolne miejsce. 4 Typy danych. 4.1 Struktura key. Klucze są porównywane w ten sposób, że najpierw porównujemy pierwsze pola, jeżeli są równe, to porównujemy drugie pola itd. Zalety takiego rozwiązania: Pliki znajdujące się w tym samym katalogu znajdują się blisko siebie. Wpisy należące do tego samego pliku znajdują się blisko siebie. Dane o pliku (takie jak np. właściciel pliku) znajdują się niedaleko pliku. Ponadto znajdują się one przed plikiem w porządku pre-order. Jeżeli plik składa się z wielu wpisów to można go całego przeczytać, przeglądając drzewo w porządku pre-order. 4

Dobrze jest, gdy węzły drzewa są czytane w porządku pre-order lub zbliżonym, ponieważ wtedy można to zrobić szybciej. Wynika to ze sposobu przydzielania węzłom drzewa bloków na dysku o czym jest mowa w dalszej części prezentacji. Dobrze, że dane o pliku znajdują się przed plikiem, ponieważ gdy np. czytamy plik, to najpierw musimy sprawdzić, czy mamy prawo do czytania. 4.2 Struktura block_head. Nagłówek bloku zawiera m.in: Poziom tego bloku w drzewie. Ilość wolnego miejsca w bloku. Ilość wpisów w bloku. 4.3 Struktura disk_child Struktura disk_child to wskaźnik do innego węzła. Zawiera ona numer bloku, w którym się znajduje wskazywany węzeł oraz ilość wolnego miejsca w tym bloku. 5 Położenie bloków na dysku. Szybkość operacji wykonywanych na dysku zależy od tego jak są położone bloki, które chcemy odczytać lub zapisać. Dobrze jest, gdy bloki znajdują się blisko siebie, najlepiej na tej samej ścieżce i w odpowiedniej kolejności. Realizacja tego celu odbywa się na czterech poziomach: 1. Przyporządkowanie logicznym numerom bloków fizycznych miejsc na dysku. 2. Przyporządkowanie węzłom drzewa numerów bloków. 3. Porządek obiektów w drzewie. 4. Operacje wykonywane na drzewie. Przyporządkowanie numerom bloków miejsc na dysku jest takie, że możemy najszybciej czytać lub pisać gdy: Czytamy lub piszemy w kolejności rosnących numerów. Różnice pomiędzy kolejnymi numerami są małe. 5

Kiedy chcemy zapisać coś w drzewie i zaalokować nowy węzeł, to najpierw szukamy jego lewego sąsiada w drzewie, a następnie przeglądamy bitmapę zajętości bloków, zaczynając od tego węzła w kolejności rosnących bloków i szukamy pierwszego wolnego bloku. To rozwiązanie połączone ze sposobem przydzielania wpisom kluczy powoduje, że często węzły drzewa są czytane lub zapisywane w porządku zbliżonym do pre-order, więc dobra jest kolejność numerów czytanych lub zapisywanych bloków. To rozwiązanie okazało się lepsze od następujących rozwiązań: Branie pierwszego wolnego bloku z bitmapy. Branie pierwszego wolnego bloku którego szukamy zaczynając od bloku, który ostatnio przydzieliliśmy i idąc w tym samym kierunku, w którym szliśmy ostatnio. Kierunek zmieniamy, gdy dojdziemy do końca bitmapy i nie znajdziemy wolnego bloku. Branie lewego sąsiada w drzewie i szukanie pierwszego wolnego bloku, przesuwając się w kierunku prawego sąsiada. Inne rozwiązania są zbyt niezależne od struktury drzewa lub powodują, że bloki są czytane lub zapisywane w kolejności malejących numerów bloków, co jest mniej korzystne. 6 Księgowanie. Kiedy chcemy wstawić wpis do drzewa i nie ma już miejsca w odpowiednim węźle, to trzeba stworzyć nowy węzeł, przekopiować część zawartości tego węzła, w którym nie było miejsca i utworzyć wskaźnik do nowego węzła. Jednak w węźle, który jest rodzicem nowego węzła może też nie być już miejsca i jego również trzeba podzielić. Może się tak zdarzyć, że trzeba będzie wstawić nowy wskaźnik do korzenia, ale w nim nie będzie miejsca, więc trzeba będzie utworzyć nowy węzeł, przekopiować część zawartości korzenia do nowego węzła, a następnie utworzyć nowy korzeń drzewa. Jeżeli tuż przed utworzeniem nowego korzenia nastąpiłaby awaria komputera (np. z powodu braku prądu), to moglibyśmy utracić ok.połowy informacji na dysku (ponieważ w korzeniu byłoby mniej wskaźników do poddrzew), gdyby nie mechanizm księgowania. Księgowanie, to zapisywanie dodatkowych informacji na dysku po to, aby można było szybko zrestartować komputer po awarii i doprowadzić system plików do stanu spójnego, bez utraty danych. Miejsce w którym zapisywane są dodatkowe dane, to dziennik. ReiserFs jest systemem plików stosującym księgowanie, więc: Można szybciej zrestartować komputer po awarii, nie trzeba korzystać z fsck. Fsck to program, który przegląda wszystkie metadane na dysku i stara się je naprawić. Nie zawsze jest to możliwe, poza tym działa długo tzn. od kilku minut do kilku godzin w zależności od wielkości i ilości dysków (po awarii trzeba sprawdzić wszystkie dyski). Można mieć pewność, że metadane będą w stanie spójnym (księgowanie w ReiserFs w wersji 3 dotyczy tylko metadanych). 6

System trochę wolniej działa. Jest trochę mniej miejsca na dysku. Trzeba pewną część dysku przeznaczyć na dziennik. Ilość tego miejsca musi być taka, żeby rozwiązać konflikt pomiędzy szybkością działania systemu, a szybkością restartowania systemu. Jeżeli dziennik jest mały to jest konieczność częstego zwalniania miejsca w dzienniku, jeżeli jest duży, to dłużej trwa zrestartowanie systemu. Mechanizm księgowania stosowany w ReiserFs w wersji 3 to księgowanie w ustalonym miejscu. Polega to na tym, że zanim dane zostaną wpisane do drzewa, są zapisywane do dziennika. Jeżeli w czasie tego zapisywania nastąpi awaria, to nic się nie stanie tzn. nie zostanie wykonana żadna operacja na drzewie. Jeżeli awaria nastąpi po zapisaniu odpowiednich informacji do dziennika, to czytając jego zawartość można dokończyć wykonywaną operację na drzewie. 7 Podsumowanie. Cechy ReiserFs w wersji 3: Efektywne wykorzystanie miejsca na dysku dla małych plików. Efektywne wykorzystanie miejsca na dysku dla końcówek plików. Wiąże się to z wolniejszym działaniem systemu. Jeżeli piszemy do pliku, to nie wiemy jak dużo zapiszemy i na wszelki wypadek zakładamy, że potrzebne jest nam miejsce na duży plik. Kiedy skończymy pisać, to w przypadku małego pliku musimy dokonać zmian w drzewie. Pakowanie końcówek plików można wyłączyć. Jeżeli wyłączymy pakowanie końcówek plików, to miejsce na dysku będzie mniej efektywnie wykorzystywane, za to system będzie działał szybciej. Efektywne działanie systemu, dla katalogów zawierających dużo plików, dzięki zastosowaniu drzew zrównoważonych. Możliwość traktowania systemu plików jak bazy danych, np. możemy trzymać na dysku 100000 numerów telefonów, każdy w oddzielnym pliku. Jeżeli końcówka pliku urośnie, to węzeł sformatowany trzeba przekształcić w węzeł niesformatowany. Zapisywanie danych w końcówkach się wiązać z koniecznością rozbicia węzła na dwa węzły. Jednolitość w traktowaniu plików, katalogów i informacji o plikach tzn. różne obiekty są tak samo wstawiane (usuwane) do (z) tej samej struktury danych. Efektywne księgowanie. Brak zalet wynikających z zastosowania nowych rozwiązań z wersji 4. 7

8 Zmiany wprowadzone w wersji 4. 8.1 Ekstenty BLOB y zastąpiono ekstentami. Ekstent to ciągły fragment dysku, dane w nim zawarte należą do jednego pliku. W ekstencie trzymane są węzły niesformatowane. Wskaźnik do ekstentu zawiera: Numer początkowego bloku. Długość ekstentu. Dzięki ekstentom można: Zwiększyć rozgałęzienie drzewa. Aby opisać plik, który jest opisany poprzez ekstenty, potrzeba mniej wskaźników. Sprawić, aby drzewo było bardziej zrównoważone, ponieważ ekstenty są na tym samym poziomie, co liście. Wynika z tego, że: Dostęp do danych, jest szybszy, ponieważ krótsza jest średnia droga z korzenia do węzła na najniższym poziomie. Jest mniejsza ilość węzłów wewnętrznych, co ułatwia buforowanie danych. Łatwiej jest zmieścić wszystkie węzły wewnętrzne w pamięci operacyjnej. 8

8.2 Księgowanie Księgowanie dotyczy nie tylko metadanych, jest więc wolniejsze, ale system i tak działa szybciej, dzięki zastosowaniu ekstentów. Wykorzystywane są dwie metody księgowania: księgowanie w ustalonym miejscu i przy użyciu wędrujących dzienników (wandering logs). Metoda wędrujących dzienników polega na tym, że gdy wykonujemy jakąś operację np. piszemy do pliku, to dane są zapisywane w pewnym miejscu na dysku, a następnie nie są zapisywane w drzewie tak jak w metodzie księgowania w ustalonym miejscu, tylko w drzewie zapisywane są informacje, które mówią o tym, że to miejsce, które było traktowane jako dziennik jest teraz miejscem w którym są nowe dane. Wiąże się to z pewnymi komplikacjami, ponieważ trzeba uaktualnić wskaźniki do nowych danych i trzeba to zrobić również w sposób pozwalający na szybkie naprawienie systemu plików w razie awarii. Metoda wędrujących dzienników jest zwykle szybsza, ponieważ nie jest konieczne dwukrotne zapisywanie tych samych danych. 8.3 Alokowanie nowych bloków. W systemie ReiserFs w wersji 4 nowe bloki nie są alokowane wtedy, gdy wykonywana jest operacja write. System operacyjny buforuje dane, i gdy zaczyna brakować pamięci, dane na dysku są aktualizowane, aby można było zwolnić pamięć. System plików przydziela wolne bloki dopiero wtedy, gdy jest zmuszony zapisać coś na dysk. Umożliwia to: Lepszy wybór bloków do zaalokowania. Możemy tworzyć ekstenty odpowiedniej wielkości. Wybór lepszej metody księgowania. Wiemy, które bloki chcemy zapisać. Rozwiązanie konfliktu pomiędzy szybkością usuwania elementów z drzewa, a efektywnym wykorzystaniem miejsca na dysku. W systemie plików ReiserFs w wersji 3, gdy usuwamy wpis z drzewa, to patrzymy na węzeł z którego usuwamy i na jego obu sąsiadów w drzewie, aby sprawdzić, czy nie dałoby się z tych trzech węzłów zrobić dwóch lub jednego węzła, ponieważ chcemy się dowiedzieć, czy możemy zwolnić miejsce na dysku. Nie jest oczywiste, czy jest to optymalne rozwiązanie, bo możnaby patrzeć na węzeł, z którego usuwamy i na np. pięciu jego sąsiadów po lewej stronie i pięciu po prawej i moglibyśmy sprawdzać, czy nie dałoby się z tych jedenastu węzłów zrobić mniejszą ilość węzłów. Wtedy miejsce na dysku byłoby efektywniej wykorzystywane, ale dłużej trwałoby usuwanie wpisów. W wersji 4, gdy usuwamy wpis, to zwalniamy miejsce na dysku tylko wtedy, gdy jest to ostatni wpis w węźle. Wpisy są pakowane przy innej okazji tzn. kiedy system plików jest zmuszony zaktualizować dane na dysku. Wtedy w pamięci operacyjnej znajduje się wiele węzłów 9

i można efektywnie upakować wpisy w nich zawarte, nie trzeba wykonywać niepotrzebnych i czasochłonnych operacji czytania bloków z dysku. Ponieważ w inny sposób usuwamy z drzewa, więc nie jest to już B+ drzewo. Jest ono nazywane tańczącym drzewem ( dancing tree ). 8.4 Program pakujacy. Częścią systemu plików ReiserFs jest program pakujący (repacker). Defragmentuje dysk. Pakuje wpisy tak, aby były gęsto upakowane w węzłach. Uruchamia się co jakiś czas, w czasie mniejszej aktywności systemu. 8.5 Więcej informacji: http://www.namesys.com http://www4.informatik.uni-erlangen.de/lehre/ws01/ps_kvbk/docs/ reiserfs/moshebarreiserfs.pdf 10