What is the purpose of CAP_LARGE_READX?

Christopher R. Hertel crh at ubiqx.mn.org
Thu Jan 17 15:24:30 MST 2013


On 01/17/2013 04:15 PM, Jeremy Allison wrote:
> On Fri, Jan 18, 2013 at 09:10:33AM +1100, Andrew Bartlett wrote:
>> On Thu, 2013-01-17 at 13:54 -0800, Jeremy Allison wrote:
>>> On Fri, Jan 18, 2013 at 08:44:42AM +1100, Andrew Bartlett wrote:
>>>> I'm chasing a bug where a MacOSX client asks for 64k of data, we ignore
>>>> the high bits, and return 0 bytes.  The client then writes a 64k zero
>>>> page locally. 
>>>>
>>>> The formal bug report will follow once I clear the details with the
>>>> reporter, but it raised in my head some 'meta' questions.
>>>>
>>>> What is the purpose of CAP_LARGE_READX?  The Samba smbd file server only
>>>> mentions it to claim support for it in negprot, but does not use it in
>>>> reply.c since
>>>> https://git.samba.org/?p=samba.git;a=commitdiff;h=f8c26c16b82989e002b839fc9eba6386fc036f6a
>>>>
>>>> I would say 'so, we should not advertise it', but the trace I've been
>>>> given of Win2008R2 also claims the same flag, but that patch claims it
>>>> also isn't supported.
>>>>
>>>> If the only way to do large reads and writes with SMB1 is via the unix
>>>> extensions, what is the purpose of the capability flag?
>>>
>>> Was created to allow implementations to do unix extensions without
>>> having to allow large readX or large writeX calls (there's also a
>>> CAP_LARGE_WRITEX). As we're the only server who ever implemented
>>> the unix extensions they appear synonomous, but they're not.
>>
>> I guess what I'm puzzled at is windows advertising it, but not honouring
>> it, or getting a closer idea what's really going on.
> 
> Oh, ok - if Windows is advertizing it them I'm completely confused,
> and I'm not remembering the CAP flags correctly. Sorry, ignore my
> previous comment :-).

It is in the Windows code, but I will need to re-read portions of MS-CIFS
and MS-SMB to jog my memory.  As I recall (vaguely), CAP_LARGE_READX and
CAP_LARGE_WRITEX were defined at the same time, but one of them was not
implemented until much later.

Let me check tonight and I'll see what I can remember.

Chris -)-----

-- 
"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/     -)-----   crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org


More information about the samba-technical mailing list