[PATCH] SMB2_FIND improvement for clustered environments

Ralph Böhme slow at samba.org
Thu Mar 23 17:53:09 UTC 2017


On Thu, Mar 23, 2017 at 06:36:58AM -0700, Jeremy Allison wrote:
> On Thu, Mar 23, 2017 at 01:02:02PM +0100, Stefan Metzmacher via samba-technical wrote:
> > Am 23.03.2017 um 12:43 schrieb Volker Lendecke via samba-technical:
> > > On Thu, Mar 23, 2017 at 11:32:23AM +0100, Ralph Böhme wrote:
> > >> On Thu, Mar 23, 2017 at 11:09:16AM +0100, Volker Lendecke wrote:
> > >>> On Thu, Mar 23, 2017 at 10:54:09AM +0100, Ralph Böhme via samba-technical wrote:
> > >>>> This new feature is still off by default as it doesn't
> > >>>> give any improvement in the non-clustered usecase.
> > >>>> "smbd:async search ask sharemode" can be used to activate it,
> > >>>> which makes only sense with "clustering = yes" (execept for testing).
> > >>>
> > >>> Can we always enable this in clustered mode, i.e. not introduce the parameter?
> > >>
> > >> sure. I was a bit hesitant, given the size of the change, to enable this by
> > >> default. But if you and others think we should do this, I'm won't object. :)
> > > 
> > > It is a big change, but we won't find the bugs if people don't use it.
> > > And they won't use it if it's hidden behind a parametric option. I
> > > know this a difficult decision, but because this does not affect
> > > functionality at all, only performance, I'm not sure a parameter is
> > > the right thing to do.
> > 
> > Either that or we default it to yes (and may remove it later).
> 
> I just went through this code. It's *great*. Very
> impressive change !

Thanks!

> Please turn this on by default. Volker is correct
> that we will not find all the bugs in this until it is
> turned on by default.

What about folding the existing and the new parametric options

  smbd:search ask sharemode (existing)
  smbd:async search ask sharemode (new)

into a full fledged option with extended syntax:

  smbd:search ask sharemode = yes | sync | async | no (default async)

yes | sync = same behaviour as current setting of "yes"
async      = fetch write time, async version
no         = same behaviour as current setting of "no"

? Maybe the "sync" alias is not needed.

Cheerio!
-slow



More information about the samba-technical mailing list