xfs: cleanup struct xfs_dir2_leaf
authorChristoph Hellwig <hch@lst.de>
Fri, 8 Jul 2011 12:35:53 +0000 (14:35 +0200)
committerChristoph Hellwig <hch@lst.de>
Fri, 8 Jul 2011 12:35:53 +0000 (14:35 +0200)
commit2282396d8157033503318fe4dee77ba82dc9d144
tree5aab6f55e2e4c37c5cbd4036dab4b8b8c78daf82
parent3ed8638f8867b4d0df1ec606231a087ff06c4a59
xfs: cleanup struct xfs_dir2_leaf

Simplify the confusing xfs_dir2_leaf structure.  It is supposed to describe
an XFS dir2 leaf format btree block, but due to the variable sized nature
of almost all elements in it it can't actuall do anything close to that
job.   Remove the members that are after the first variable sized array,
given that they could only be used for sizeof expressions that can as well
just use the underlying types directly, and make the ents array a real
C99 variable sized array.

Also factor out the xfs_dir2_leaf_size, to make the sizing of a leaf
entry which already was convoluted somewhat readable after using the
longer type names in the sizeof expressions.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Alex Elder <aelder@sgi.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
fs/xfs/xfs_dir2_leaf.c
fs/xfs/xfs_dir2_leaf.h