handle the case where we try a multi-read that is completely beyond the end of file.
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Sat, 25 Jun 2011 02:13:11 +0000 (12:13 +1000)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Sat, 25 Jun 2011 02:13:11 +0000 (12:13 +1000)
commit215228a23de45d62bb5154e919d23da2b435880b
treec1a491d54e2e24ddc42d3e33c620b1a5d9d80007
parent739df145d600a7beb21050a5cb95b6b7ae184934
handle the case where we try a multi-read that is completely beyond the end of file.

when a multi-read was completely beyond the end of file, this caused us to invoke the callback with a 'read-count' of <0  which the callback would treat as a failure.
This would then cause the callback to treat the data pointer as an error string and try to use it for nfs_set_error().
Since the data pointer was actually a real binary databuffer and not an error string this would cause the NFS error string to look like it contained garbage data.

In this case, where the multi-read fails to read any data at all since it if fully beyond end of file,  make sure to invoke the callback with a read-count of 0
lib/libnfs.c