Samba 3.0.32 - oplock code

Jeremy Allison jra at samba.org
Wed Dec 17 19:14:54 GMT 2008


On Sat, Dec 13, 2008 at 12:34:51PM -0800, Jeremy Allison wrote:
> 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.

Ok, I evaluated this patch - it's correct, but applying
it breaks smbtorture test BATCH24, which we currently
pass. I understand the problem here, so I'll be extending
the patch to fix the problem.

I'll annotate the check-in when I've got it to pass
the BATCH24 test again.

Jeremy.


More information about the samba-technical mailing list