What is maximum SMB2 IOCTL(FSCTL_GET_SHADOW_COPY) response size.
realrichardsharpe at gmail.com
Mon Jan 19 08:31:20 MST 2015
On Sun, Jan 18, 2015 at 11:41 PM, Stefan (metze) Metzmacher
<metze at samba.org> wrote:
> Am 19.01.2015 um 08:27 schrieb Jeremy Allison:
>> On Sun, Jan 18, 2015 at 09:55:47PM -0800, Hemanth Thummala wrote:
>>> We are using samba 3.6.12+ stack. We are implemented windows previous
>>> version(shadow copies) support with new VFS module.
>>> On one of our nodes, there are huge number(~2K) of snapshots and we trying
>>> to send them(as list) as part of IOCTL response for FSCTL_GET_SHADOW_COPY.
>>> Response size is coming around 90K. Client is facing an issue in receiving
>>> the huge response packet. After receiving around 65K data( calculated
>>> acknowledged TCP segments), client returning TCP zero size recv window
>>> error followed by connection reset. Client behavior is same irrespective of
>>> version. I have tested on win 7, windows 8 and win2K12 server.
>>> Would like to know if there is any limit on this IOCTL response. Client
>>> negotiated 64K as max transaction size but this is the request buffer size
>>> that server can accept. Did not find any documentation about SMB2 client
>>> We couldn't verify this against windows as windows supports only 512 VSS
>>> copies in back end. So it will never need to send more than 512 snapshots
>>> to client.
>> Sounds like you're hitting the trans2 limit on SMB1.
>> That limit is 1MB on SMB2 so it should work there.
> It's 64k with SMB 2.02 or without multi-credit support on the transport.
> Can you also test with 4.1.15 and check if it happens there too?
> Please test "server max protocol = SMB2_02" as well as the default.
I suspect that they won't be able to test with 4.1.15 easily, and it
could well be the limitation of 2.02 with 64kIB max PDU size.
They might have to simply limit their max response on this IOCTL to 64kiB.
More information about the samba-technical