• Eric Sandeen's avatar
    [XFS] Pack some shortform dir2 structures for the ARM old ABI · ae23a5e8
    Eric Sandeen authored
    architecture.
    
    This should fix the longstanding issues with xfs and old ABI arm boxes,
    which lead to various asserts and xfs shutdowns, and for which an
    (incorrect) patch has been floating around for years.
    
    I've verified this patch by comparing the on-disk structure layouts using
    pahole from the dwarves package, as well as running through a bit of xfsqa
    under qemu-arm, modified so that the check/repair phase after each test
    actually executes check/repair from the x86 host, on the filesystem
    populated by the arm emulator. Thus far it all looks good.
    
    There are 2 other structures with extra padding at the end, but they don't
    seem to cause trouble. I suppose they could be packed as well:
    xfs_dir2_data_unused_t and xfs_dir2_sf_t.
    
    Note that userspace needs a similar treatment, and any filesystems which
    were running with the previous rogue "fix" will now see corruption (either
    in the kernel, or during xfs_repair) with this fix properly in place; it
    may be worth teaching xfs_repair to identify and fix that specific issue.
    
    SGI-PV: 982930
    
    SGI-Modid: xfs-linux-melb:xfs-kern:31280a
    Signed-off-by: default avatarEric Sandeen <sandeen@sandeen.net>
    Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
    Signed-off-by: default avatarLachlan McIlroy <lachlan@sgi.com>
    ae23a5e8
xfs_linux.h 8 KB