summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Prouty <tprouty@samba.org>2009-03-18 21:49:50 +0000
committerTim Prouty <tprouty@samba.org>2009-03-18 16:51:41 -0700
commit710948c7885b228afe5e1b3bed005f50c57d519b (patch)
treed201bbe612362ec677364146801b7f34d89b080d
parentf942cb616e981e5370fab122969127de0910b58b (diff)
downloadsamba-710948c7885b228afe5e1b3bed005f50c57d519b.tar.gz
samba-710948c7885b228afe5e1b3bed005f50c57d519b.tar.bz2
samba-710948c7885b228afe5e1b3bed005f50c57d519b.zip
s3 onefs: Correctly error out when the read returns EOF
Also add some more debugging.
-rw-r--r--source3/modules/onefs_system.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/source3/modules/onefs_system.c b/source3/modules/onefs_system.c
index b8b059bce9..46f38265b1 100644
--- a/source3/modules/onefs_system.c
+++ b/source3/modules/onefs_system.c
@@ -591,8 +591,8 @@ ssize_t onefs_sys_recvfile(int fromfd, int tofd, SMB_OFF_T offset,
*/
while (total_rbytes < count) {
- DEBUG(0, ("shallow recvfile, reading %llu\n",
- count - total_rbytes));
+ DEBUG(0, ("shallow recvfile (%s), reading %llu\n",
+ strerror(errno), count - total_rbytes));
/*
* Read the remaining data into the spill buffer. recvfile
@@ -603,9 +603,13 @@ ssize_t onefs_sys_recvfile(int fromfd, int tofd, SMB_OFF_T offset,
spill_buffer + (total_rbytes - total_wbytes),
count - total_rbytes);
- if (ret == -1) {
- DEBUG(0, ("shallow recvfile read failed: %s\n",
- strerror(errno)));
+ if (ret <= 0) {
+ if (ret == 0) {
+ DEBUG(0, ("shallow recvfile read: EOF\n"));
+ } else {
+ DEBUG(0, ("shallow recvfile read failed: %s\n",
+ strerror(errno)));
+ }
/* Socket is dead, so treat as if it were drained. */
socket_drained = true;
goto out;