This is the latest version of the native xfs_buf discontiguous
buffer support series.
The series introduces the concept of buffer block maps, then
adds APIs for using them, converts the internal xfs_buf method
implementation to use them exclusively, adds support for
discontiguous buffer log items in transactions, converts
the directory code to use them and finally removes the xfs_dabuf
from the picture.
This greatly simplifies the directory buffer code and avoids
copy-up/copy-down for discontiguous buffers. It also avoids needing
to create and destroy a xfs-dabuf for every directory block that is
read or written, greatly reducing buffer setup and teardown
overhead and memory footprint.
- addressed Christoph's comments
- reordered to bring the xfs_buf_log_format changes up front
- rebased on a current 3.5-rc + xfs-oss/master tree