|
|
|
|
|
by jra_samba
2232 days ago
|
|
No the client can't assume that. Consider pipelining reads. You can asynchronously send 10 1MB reads. The server can return the data in any order. So the read sent at offset 0 could return last after the server has already returned 9MB starting at offset 1MB onwards in the file, and this first read then returns a short read of 800k instead of 1MB. You can't then assume that the read at offset 0 returning short means the file is now truncated to 800MB and the other 9MB is no longer of use. Also remember you might have a complete RWH lease on the file, so you are guaranteed that there was no other writer truncating the file whilst the read is ongoing. |
|