/* it really should be the case that the buffer pointers (returned by
* malloc) are aligned to the natural word size of the machine, so
* this is the only case we optimize for. The length should always be
* a multiple of the sector size, so there should be no problem with
* leftover bytes at the end. */