Aurélien Aptel <aaptel@xxxxxxxx> writes: > So it seems to me only possible explanation is the first, i.e. > MaxOutputResponse > Connection.MaxTransactSize, somehow. So I've dumped a few fields: Connection.MaxTransactSize is set by the server in NEGPROT response. Against my WS2016, MaxTransactSize = 8388608 But we do this: server->maxBuf = min_t(unsigned int, le32_to_cpu(rsp->MaxTransactSize), SMB2_MAX_BUFFER_SIZE); Since SMB2_MAX_BUFFER_SIZE = 65536, maxBuf is effectively SMB2_MAX_BUFFER_SIZE And finally, the value used for ioctl MaxOutputResponse is CIFSMaxBufSize, which is 16384. I've tried setting MaxOutputResponse to server->maxBuf or Connection.MaxTransactSize but it always fails the same way... so I don't know. I guess it must say somewhere that ioctl() with no output should set MaxOutputResponse to zero? -- Aurélien Aptel / SUSE Labs Samba Team GPG: 1839 CB5F 9F5B FB9B AA97 8C99 03C8 A49B 521B D5D3 SUSE Linux GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)