Reverted to block by block read, instead of fstating then whole read