XFS is a journaled 64-bit file system created by SGI. Until 1994 it was only available for IRIX. Since the 1st of May 2001 it is officially part of Vanillia Linux 2.4. Internally, XFS is organized in balanced B+Trees and uses Extends to store data. XFS is fully supported by all Ubuntu-Versions (however, there are some issues listed under "Disadvantages").


  • You need to have the module xfs loaded, if you want to mount xfs volumes. This happens automatically in Ubuntu. If you build the kernel on your own, there is the CONFIG_XFS_FS config directive (and some others for xattrib, quota, and so on).

  • You should have the following packages installed:
    • ubuntu-minimal or mount

    • xfsprogs - Utilities to create, repair and administrate xfs-filesystems

    • xfsdump - Utilities for backup and restore as well as xfs_fsr, the defragmentation and optimization app

  • Newer GRUB (as shipped with Ubuntu) with XFS Stage1.5 or LILO as Bootloader


  • Part of official Kernel
  • Online optimizing (defragmenting) filesystem using "xfs_fsr" (part of xfsdump-package)
  • Ability to grow an existing filesystem using "xfs_growfs" (part of xfsprogs-package)
  • Own dump- and restore-utilities to keep fs-specific info
  • Fast seeking through directories
  • Efficient file storage, low fragmentation
  • Relatively low memory usage
  • Journal (internal or external)
  • Theoretic maximum file size of 9 TB
  • Balance between speed and safety
  • Delayed allocation and improved sparse file handling


  • Slower than non-journaled fs (like ext2)
  • Due to balance of speed and safety, there is the possibility to lose data on aprupt power loss (outdated journal metadata), but not filesystem consistence
  • Currently there is no ability to shrink an xfs filesystem. However, there are some people working on this issue
  • GRUB-Support is in an early stage, therefore using xfs as boot-filesystem can be a bad idea
  • The journal is currently not 32-bit / 64-bit portable. Before mounting a xfs prevously used on 32-bit linux in 64-bit linux (or different arch) the journal has to be emptied using xfs_repair.

Other filesystems

  • ext3 and ext2 - the "official" Linux Filesystems

  • ReiserFS - Journaled filesystem

  • Reiser4 - Young journaled filesystem, currently not part of official Linux


XFS (last edited 2010-11-03 18:51:59 by rrcs-184-75-58-142)