The Samba-Bugzilla – Bug 5979
Level 2 oplocks being granted improperly
Last modified: 2012-09-10 20:49:38 UTC
I am reading the oplock granting code in samba 3.0.32 And I have a
question, if I may.
It seems to me that if someone is asking for an exclusive lock or level
two oplock when all other share lock owners of the files don't have any
oplock (not even a fake level two) he will be granted a level two
But if one of the other clients will perform a write operation or
anything else, he wont notify the level oplock 2 holder on the async
oplock break needed.
I have checked samba . 3.0.20, and it seems no oplock is granted in that
case in the old version.
I think there are two possibilities for a solution, send everyone else a
request two make fake level two oplock upgrade or just deny the oplock
request from the client.
I have a patch for the second suggestion.
Am I right ?
The relevant code is in delay_for_oplocks function inside smbd/open.c
Confirmed this bug still applies to 3.2.x and above.
Created attachment 3815 [details]
Patch for 3.2.x and above.
Jeremy, the attached thing doesn't look like a patch. Is this bug still valid or is there already a fix pushed?
Was fixed (incorrectly) with git id 1a5fc6d4bc847d9896500b704c9a8d5ac7faa7d2.