Necessary for "final" on gcc 4.6.
Eliminate support for partial reads. The Linux kernel will never return partial results, so this buffering was unnecessary.