EXTLINUX: Initial XFS filesystem support
commita126f17f663c438ef264a459fa130951dbac780d
authorPaulo Alcantara <pcacjr@zytor.com>
Fri, 8 Jun 2012 19:20:15 +0000 (8 16:20 -0300)
committerPaulo Alcantara <pcacjr@zytor.com>
Sat, 21 Jul 2012 04:21:44 +0000 (21 01:21 -0300)
tree79e31ff70550608e3feb32aebb6f888a5dc8d1ec
parent0a0e0e41cad93cd16c323cf16f40264a21eedd6c
EXTLINUX: Initial XFS filesystem support

XFS filesystems are divided into a number of equally sized chunks called
Allocation Groups (AGs). Each AG can almost be thought of as an
individual filesystem that maintains its own's space usage.

Each AG has the following structure:
     - A super block describing the overall filesystem info
     - Free space management
     - Inode allocation and tracking

So, due to historical reasons (SGI IRIX's design of disk layouts), the
first sector in the primary AG on XFS filesystems contains the
superblock, which is a problem with bootloaders that rely on BIOSes (that
load VBRs which are located in the first sector of the partition).

This patch adds support to the EXTLINUX installer to be able to install
Syslinux in an XFS partition, but with a limitation (temporarily) of
relying on the filesystem block size being 4+ KiB, otherwise there won't
be enough space to store the Syslinux boot sector in the blank area around
the 2048 to 4096 bytes of the primary AG/superblock.

Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
extlinux/main.c
extlinux/xfs.h [new file with mode: 0644]
extlinux/xfs_fs.h [new file with mode: 0644]
extlinux/xfs_sb.h [new file with mode: 0644]
extlinux/xfs_types.h [new file with mode: 0644]
libinstaller/syslxfs.h