This is the latest version of the native xfs_buf discontiguous
buffer support series. It has been rebased on 3.5-rc1 and Jan Kara's
buffer initialisation/allocation fix ("Fix overallocation in
The series introduces Dateh 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.