]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit
xfs: add CRC checking to dir2 leaf blocks
authorDave Chinner <dchinner@redhat.com>
Fri, 7 Jun 2013 00:25:35 +0000 (10:25 +1000)
committerBen Myers <bpm@sgi.com>
Tue, 6 Aug 2013 18:19:28 +0000 (13:19 -0500)
commit65b80c98dcd8d31a45fa2190bbba4cf5d8b67b9d
treea7b5edbc27e8b7160f8985043d5216c583cbebca
parent90ea28c3def5f5ea9ac8cccecb93904d9c518f65
xfs: add CRC checking to dir2 leaf blocks

This addition follows the same pattern as the dir2 block CRCs.
Seeing as both LEAF1 and LEAFN types need to changed at the same
time, this is a pretty large amount of change. leaf block headers
need to be abstracted away from the on-disk structures (struct
xfs_dir3_icleaf_hdr), as do the base leaf entry locations.

This header abstract allows the in-core header and leaf entry
location to be passed around instead of the leaf block itself. This
saves a lot of converting individual variables from on-disk format
to host format where they are used, so there's a good chance that
the compiler will be able to produce much more optimal code as it's
not having to byteswap variables all over the place.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
db/check.c
db/dir2.c
include/xfs_da_btree.h
include/xfs_dir2_format.h
libxfs/xfs_da_btree.c
libxfs/xfs_dir2_block.c
libxfs/xfs_dir2_leaf.c
libxfs/xfs_dir2_node.c
libxfs/xfs_dir2_priv.h
repair/dir2.c
repair/phase6.c