[Samba] oplocks, kernel oplocks, kernel share modes, .. - how it all works?
Ralph Boehme
slow at samba.org
Tue Jan 24 21:19:58 UTC 2023
On 1/24/23 22:12, Jeremy Allison wrote:
> On Wed, Jan 25, 2023 at 12:00:09AM +0300, Michael Tokarev wrote:
>> 24.01.2023 23:23, Jeremy Allison пишет:
>> ..
>>> which means you end up with LEASE_OPLOCK, granted=SMB2_LEASE_NONE
>>> which is what you see with smbstatus.
>>>
>>> If you turn on kernel oplocks = yes, I think you must also
>>> set smb2 leases = no in order for this to work.
>>
>> I've set smb2 leases = no (to global). I don't see these LEASE() anymore,
>> I see "NONE", "BATCH" and "LEVEL_II" now, like in old good times :)
>
> Oh, very interesting. Something is wrong in our code then, as Ralph
> already mentioned we have:
>
> capabilities = 0;
> if (lp_host_msdfs()) {
> capabilities |= SMB2_CAP_DFS;
> }
>
> if (protocol >= PROTOCOL_SMB2_10 &&
> lp_smb2_leases() &&
> lp_oplocks(GLOBAL_SECTION_SNUM) &&
> !lp_kernel_oplocks(GLOBAL_SECTION_SNUM))
> {
> capabilities |= SMB2_CAP_LEASING;
> }
>
> so setting "kernel oplocks = yes" should prevent SMB2_CAP_LEASING
> being returned to the client. A wireshark trace when you remove
> the "smb2 leases = no" line would be good to look at.
oh! That is the only place where we treat kernel oplocks as a global
option. The docs and the rest of the code allow this as a per share
option. Looks like we have a problem here.
@Michael: move the kernel oplocks setting to the global section, then
things may start to work as expected.
-slow
--
Ralph Boehme, Samba Team https://samba.org/
SerNet Samba Team Lead https://sernet.de/en/team-samba
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba/attachments/20230124/2a43abb5/OpenPGP_signature.sig>
More information about the samba
mailing list