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