xfs: rearrange some code in xfs_bmap for better locality
authorDave Chinner <dchinner@redhat.com>
Mon, 25 Feb 2013 01:31:26 +0000 (12:31 +1100)
committerBen Myers <bpm@sgi.com>
Thu, 7 Mar 2013 18:35:22 +0000 (12:35 -0600)
commit9e5987a7792194ec338f53643237150c0db5f5e0
tree3545c8d07dca8e3bd158aaa689c70e98425a83ad
parentecb3403de1efb56f78d9093376aec0a8af76b316
xfs: rearrange some code in xfs_bmap for better locality

xfs_bmap.c is a big file, and some of the related code is spread all
throughout the file requiring function prototypes for static
function and jumping all through the file to follow a single call
path. Rearrange the code so that:

a) related functionality is grouped together; and
b) functions are grouped in call dependency order

While the diffstat is large, there are no code changes in the patch;
it is just moving the functionality around and removing the function
prototypes at the top of the file. The resulting layout of the code
is as follows (top of file to bottom):

- miscellaneous helper functions
- extent tree block counting routines
- debug/sanity checking code
- bmap free list manipulation functions
- inode fork format manipulation functions
- internal/external extent tree seach functions
- extent tree manipulation functions used during allocation
- functions used during extent read/allocate/removal
  operations (i.e. xfs_bmapi_write, xfs_bmapi_read,
  xfs_bunmapi and xfs_getbmap)

This means that following logic paths through the bmapi code is much
simpler - most of the code relevant to a specific operation is now
clustered together rather than spread all over the file....

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
fs/xfs/xfs_bmap.c