From 83c3b2809636cab704a54c2d699a907c6d07d199 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 13 Jan 2009 11:19:11 -0800 Subject: Fix bug #6019 File corruption in Clustered SMB/NFS environment managed via CTDB Jeremy. --- source3/lib/sendfile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/lib') diff --git a/source3/lib/sendfile.c b/source3/lib/sendfile.c index d1b178577c..fb10cae2aa 100644 --- a/source3/lib/sendfile.c +++ b/source3/lib/sendfile.c @@ -65,7 +65,7 @@ ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T of #endif } while (nwritten == -1 && errno == EINTR); if (nwritten == -1) { - if (errno == ENOSYS) { + if (errno == ENOSYS || errno == EINVAL) { /* Ok - we're in a world of pain here. We just sent * the header, but the sendfile failed. We have to * emulate the sendfile at an upper layer before we @@ -143,7 +143,7 @@ ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T of nwritten = sendfile(tofd, fromfd, &small_offset, small_total); } while (nwritten == -1 && errno == EINTR); if (nwritten == -1) { - if (errno == ENOSYS) { + if (errno == ENOSYS || errno == EINVAL) { /* Ok - we're in a world of pain here. We just sent * the header, but the sendfile failed. We have to * emulate the sendfile at an upper layer before we -- cgit