After looking over all the patches I really thing we should be passing struct xfs_buf_vec arguments to the functions, and provide a helper to convert struct xfs_bmbt_irec to the callers. That avoids having to add the XFS_EXT_DADDR hack, and keeps the amount of data structures used in the buffer cache small.