[PATCH] Fix RECVFILE with non-blocking sockets and add OEM recvfile call.

Stefan (metze) Metzmacher metze at samba.org
Thu May 22 10:18:30 MDT 2014


Am 22.05.2014 17:59, schrieb Jeremy Allison:
> On Thu, May 22, 2014 at 02:59:09PM +0200, Stefan (metze) Metzmacher wrote:
>>
>> I'm getting EINVAL from splice if I use large io sizes, when using SMB3.
>> When count is truncated to TRANSFER_BUF_SIZE (128*1024) it works fine.
> 
> OK, I'll fix up the 'standard' splice code on top of these patches
> to make sure we don't go over 128k. Justin's splice changes won't
> have that problem as he's using custom kernel code here.

I was testing with a custom kernel! And the patches an OEM gave me look
similar,
but the have the chunking. With chunking it worked fine without I got a
disconnect
from the server.

For the 'standard' splice we could use larger chunks, as current kernel
allow
F_SETPIPE_SZ up to 1MB.

>> We should also make sure we don't get nwritten == 0 from splice,
>> as that would mean we're in an endless loop.
> 
> I'll fix that and re-post a patchset. Thanks for looking
> at this !

Thanks!
metze

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140522/7409ad75/attachment.pgp>


More information about the samba-technical mailing list