Hello,

We are running into the problem in slower performance on oplock.
Here is the oplock scenario.

- We are using 3.0.22.
- Kernel oplock has been implemented on hp-ux 11v3.
- smb.conf
        kernel oplocks = Yes
        oplock break wait time = 0
        fake oplocks = No
        locking = Yes
        oplocks = Yes
        level2 oplocks = Yes
        oplock contention limit = 2
        posix locking = Yes
- Running a Windows application that have to access to data on Samba share.
- Read data is ok.
- A single user to write data is ok.
- Multiple users to write data experience oplock delay. For example, two 
clients tried to edit data at the same time in the application, there are 
following processing from my observation:
  * The first open on a file with an exclusive oplock.
  * The second open on the same file needs to call defer_open() and send oplock 
break msg to itself.
  * Most of time, the msg can be received. Performance is OK. But sometimes for 
some reason, the msg couldn't be received. I don't know why. So there was a 
delay(probably 60s) after open_was_deferred(). After this, Windows client tried 
to send SMBntcreate to open it again. This time still failed. Since we have 
"Trying to delay for oplocks twice" in open_file_ntcreate(), it leaded to close 
the connection.

- Whether IS the defer_open on the second open necessary? Because this is the 
same process, and the same file.
- What kind of reasons to cause the smbd did not receive the break msg?
- Is there any way to remove the delay, or a specific fix around this?

Any help greatly appreciated.

Thanks very much.
-Ying
--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

Reply via email to