Samba 3.0.32 - oplock code

Jeremy Allison jra at samba.org
Sat Dec 13 20:34:51 GMT 2008


On Fri, Dec 12, 2008 at 10:35:41PM +0200, itay dar wrote:
> 
> here there are 3 options :
> 1. have a new state and keep the reguler flow the same (sending the async
> oplock to breaker client as an async event)
> 
> 2. send the client the oplock break request from the release function and
> update the share entry database.
> 
> 3. send the client a break and update all other share entries also.
> 
> Number one is my orignal suggestion, but number two seems as the best
> solution possible.

Ok, this makes much more sense, thanks for simplifying.

Number 2 will definately work best. The Windows client
is completely asynchronous and also the break from level2
to none doesn't need a client response, it's just a
notification. You can add in logic to the loop
in release_level_2_oplocks_on_change() to call
process_oplock_async_level2_break_message() directly
with the constructed message data for the fsp
being processed, and send messages for the rest,
and this should do the trick.

I can do the patch for this if you like (next
week once I'm back in the US).

So to recap, we have 2 issues to fix.

1). If someone is asking for an oplock level two and at least one share lock
entry doesn't have a level two oplock or a fake one, than this request
should be also denied.

You have sent in a patch for this, I'll review early
next week.

and 2). The issue we're discussing here, with
possible discussed fix.

Correct ?

Thanks,

Jeremy.


More information about the samba-technical mailing list