On Wed, 2011-08-24 at 02:04 -0400, Christoph Hellwig wrote: > xfs_bmapi() currently handles both extent map reading and > allocation. As a result, the code is littered with "if (wr)" > branches to conditionally do allocation operations if required. > This makes the code much harder to follow and causes significant > indent issues with the code. > > Given that read mapping is much simpler than allocation, we can > split out read mapping from xfs_bmapi() and reuse the logic that > we have already factored out do do all the hard work of handling the > extent map manipulations. The results in a much simpler function for > the common extent read operations, and will allow the allocation > code to be simplified in another commit. > > Once xfs_bmapi_read() is implemented, convert all the callers of > xfs_bmapi() that are only reading extents to use the new function. > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Very nice. About a third of the uses of XFS_BMAPI_METADATA were unnecessary because that flag only matters on writes. That's a good demonstration of how refactoring like this improves clarity (if the simplicity of the xfs_bmapi_read() function isn't evidence enough). Reviewed-by: Alex Elder <aelder@xxxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs