• Dave Chinner's avatar
    xfs: vectorise encoding/decoding directory headers · 01ba43b8
    Dave Chinner authored
    Conversion from on-disk structures to in-core header structures
    currently relies on magic number checks. If the magic number is
    wrong, but one of the supported values, we do the wrong thing with
    the encode/decode operation. Split these functions so that there are
    discrete operations for the specific directory format we are
    handling.
    
    In doing this, move all the header encode/decode functions to
    xfs_da_format.c as they are directly manipulating the on-disk
    format. It should be noted that all the growth in binary size is
    from xfs_da_format.c - the rest of the code actaully shrinks.
    
       text    data     bss     dec     hex filename
     794490   96802    1096  892388   d9de4 fs/xfs/xfs.o.orig
     792986   96802    1096  890884   d9804 fs/xfs/xfs.o.p1
     792350   96802    1096  890248   d9588 fs/xfs/xfs.o.p2
     789293   96802    1096  887191   d8997 fs/xfs/xfs.o.p3
     789005   96802    1096  886903   d8997 fs/xfs/xfs.o.p4
     789061   96802    1096  886959   d88af fs/xfs/xfs.o.p5
     789733   96802    1096  887631   d8b4f fs/xfs/xfs.o.p6
     791421   96802    1096  889319   d91e7 fs/xfs/xfs.o.p7
    Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
    Reviewed-by: default avatarBen Myers <bpm@sgi.com>
    Signed-off-by: default avatarBen Myers <bpm@sgi.com>
    01ba43b8
xfs_da_format.h 33.2 KB