XFS dzieli przestrzeń dyskową na grupy alokacji (16MB do 4GB). Liczba i wielkość grup alokacji powinny być odpowiednio dobrane do platformy sprzętowej na jakiej zainstalowany jest XFS. Dużo małych grup ułatwia wielowątkową pracę nad systemem plików, a niewiele dużych grup to rozwiązanie dobre dla maszyny jednoprocesorowej.

Na początku każdej grupy alokacji jest zapisany superblok. Za superblokiem umieszczony jest nagłówek grupy alokacji. Zawiera on trzy ważne struktury danych:

o       dwa B+drzewa wolnych ekstentów. Oba drzewa mają w liściach pary (pozycja pierwszego bloku ekstentu, liczba bloków w ekstencie). Jedno drzewo jest indeksowane pierwszym elementem pary a drugie drugim.

o       B+drzewo i-węzłów – każdy i-węzeł ma swój unikalny numer, więc jest podobny do klasycznego i-węzła

o       Pomocnicza struktura wykorzystywana do szybkiego znajdowania wolnej przestrzeni

 

i-węzły, pliki, katalogi

 

I-węzły są zwykle wielkości 512B i mają trzy sekcje:

·        informacje o obiekcie (właściciel, typ, czasy, uprawnienia) oraz flagi mówiące o trybie informacji w sekcji atrybutów i danych (patrz niżej)

·        sekcja atrybutów, może przyjąć jedną z trzech form:

§         wszystkie informacje są zapisane bezpośrednio

§         tablica deskryptorów ekstentów zawierających atrybuty i-węzła (informacje te nie mieszczą się w sekcji ale dane wszystkich deskryptorów tak)

§         B+drzewa ekstentów zawierających dane atrybutów

·        sekcja danych, która również może przyjąć jedną z tych trzech form:

§         wszystkie informacje są zapisane bezpośrednio

§         tablica deskryptorów ekstentów zawierających dane i-węzła (dane te nie mieszczą się w sekcji ale dane wszystkich deskryptorów tak)

§         B+drzewa ekstentów zawierających dane tego i-węzła

Pliki są opisane przez i-węzły jw.

Katalogi są również przechowywane w i-węzłach. W zależności od wielkości przyjmują jedną z dwu postaci:

-         zawartość katalogu jest przechowywana w tablicy par (nazwa wpisu, numer jego i-węzła) w sekcji danych w samym i-węźle

-         Zawartość katalogów jest przechowywana w B+drzewach w przypadku gdy jego liczba wpisów jest duża i nie zmieściłyby się one wszystkie bezpośrednio w tablicy zawartej w i-węźle