diff options
author | Tim Prouty <tprouty@samba.org> | 2009-03-18 21:49:50 +0000 |
---|---|---|
committer | Tim Prouty <tprouty@samba.org> | 2009-03-18 16:51:41 -0700 |
commit | 710948c7885b228afe5e1b3bed005f50c57d519b (patch) | |
tree | d201bbe612362ec677364146801b7f34d89b080d /source3 | |
parent | f942cb616e981e5370fab122969127de0910b58b (diff) | |
download | samba-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.
Diffstat (limited to 'source3')
-rw-r--r-- | source3/modules/onefs_system.c | 14 |
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; |