/* 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. */