In include/diy/storage.hpp, fread is used, but its return value is ignored.
virtual inline void load_binary(char* x, size_t count) { fread(x, 1, count, file); }
fread returns the number of items read, so when requesting 1000 bytes, a read may read just 10 and further calls are necessary.