EFS for Linux

The Extent File System (efs) is Silicon Graphics' early block-device filesystem, widely used on pre-6.0 versions of IRIX. Since 6.0, xfs has been bundled with IRIX and users are being encouraged to migrate to xfs filesystems. IRIX support for efs will be read-only in versions of IRIX beyond 6.5, however efs is still very much in use on SGI software distribution CDs.

The efs kernel module is an implementation of the extent file system for linux 2.2 kernels. An efs implementation (efsmod-0.6.tar.gz) was originally written for 1.x kernels by Christian Vogelgsang.

In this implementation the code has undergone a complete rewrite and is also endian-clean. To use the efs module, you will need to have at least a 2.2 kernel. To mount IRIX CDs, your CD-ROM will need to be able to cope with 512-byte blocks.

The efs module is available for download. The current version is now 1.0d. Please note that this version is not compatible with linux 2.3 or higher kernels. You should enable the experimental code kernel configuration parameter and then use the efs version that comes with the kernel.

This version of efs contains support for hard-disk partitions, and also contains a kernel patch to allow you to install the efs code into your linux kernel tree. Handling of large files has also been vastly improved. See the HISTORY file.

I'm no longer actively maintaining EFS - it's in the Linux kernel tree so you should probably use that version rather than fetching the source available on this page.

Previous releases: 0.97, 0.98, 0.99, 1.0.