When data-files are not cached, some chunks are really small (like 36
bytes small). This could cause the buffer to be too small to decode the
next entry, causing a failure.
Solve this by always reading at least 2048 bytes in the next buffer.
This is a bit slow, as it has to copy over all the chunks leading up to
2048 bytes into a new buffer.