Datasheet
“main” (Installation and Administration) — 2004/6/25 — 13:29 — page 387 — #413
i
i
i
i
i
i
i
i
18
File Systems in Linux
Better Space Usage through Dynamic inode Allocation
For Ext2, you must define the inode density in advance (the space
occupied by management information), which restricts the maximum
number of files or directories of your file system. JFS spares these
considerations — it dynamically allocates inode space and frees it
when it is no longer needed.
18.2.6 XFS
Originally intended as the file system for their IRIX OS, SGI started XFS
development in the early 1990s. The idea behind XFS was to create a high-
performance 64-bit journaling file system to meet the extreme computing
challenges of today. XFS is very good at manipulating large files and per-
forms well on high-end hardware. However, even XFS has a drawback.
Like ReiserFS, XFS takes great care of metadata integrity, but less of data
integrity.
A quick review of XFS’s key features explains why it may prove a strong
competitor for other journaling file systems in high-end computing.
High Scalability through the Use of Allocation Groups
At the creation time of an XFS file system, the block device under-
lying the file system is divided into eight or more linear regions of
equal size. Those are referred to as allocation groups. Each allocation
group manages its own inodes and free disk space. Practically, alloca-
tion groups can be seen as file systems in a file system. As allocation
groups are rather independent of each other, more than one of them
can be addressed by the kernel simultaneously. This feature is the
key to XFS’s great scalability. Naturally, the concept of independent
allocation groups suits the needs of multiprocessor systems.
High Performance through Efficient Management of Disk Space
Free space and inodes are handled by B
+
-trees inside the allocation
groups. The use of B
+
-trees greatly contributes to XFS’s performance
and scalability. A feature truly unique to XFS is delayed allocation.
XFS handles allocation by breaking the process into two pieces. A
pending transaction is stored in RAM and the appropriate amount of
space is reserved. XFS still does not decide where exactly (speaking
of file system blocks) the data should be stored. This decision is
delayed until the last possible moment. Some short-lived temporary
data may never make its way to disk, because it may be obsolete at
387SUSE LINUX Enterprise Server










