[PATCH] New option "mangled names = illegal"
Jeremy Allison
jra at samba.org
Mon Jan 9 16:39:27 UTC 2017
On Mon, Jan 09, 2017 at 10:10:08AM +0100, Ralph Böhme wrote:
> Hi Jeremy,
>
> On Thu, Dec 15, 2016 at 03:25:54PM -0800, Jeremy Allison wrote:
> > On Thu, Dec 15, 2016 at 01:28:00PM +0100, Ralph Böhme wrote:
> > > Hi!
> > >
> > > This one seemed obvious to me, I must be missing something. :)
> > >
> > > With "mangled names = yes" we create mangled names for
> > >
> > > 1) any name that contains illegal NTFS characters
> > > 2) any name that exceeds 8.3 length limits
> > >
> > > In case of 2 the mangled name is put into the shortname buffer in find
> > > responses. Modern clients don't use the shortname anymore, so having an
> > > additional "mangled names" option that mangles only for case 1), but not 2)
> > > would be useful and reduce load on the server.
> > >
> > > Attached is a patch that implements such an option, I've called it "mangled
> > > names = illegal".
> > >
> > > A benchmark shows that it improves performance by more then 10% in corner cases
> > > like a directory with 20k files with long names:
> > >
> > > $ cd /path/share/dir
> > > $ i=1; while [ $i -lt 20001 ] ; do echo longfilename$i; touch longfilename$i; ((i++)); done
> > >
> > > "mangled named = yes"
> > > =====================
> > >
> > > $ time ./bin/smbclient -U slow%x -m smb3 //localhost/share -c "ls dir\*" > /dev/null
> > > Domain=[SLOWSERVER] OS=[] Server=[]
> > >
> > > real 0m0.402s
> > > user 0m0.055s
> > > sys 0m0.036s
> > >
> > > "mangled named = illegal"
> > > =========================
> > >
> > > $ time ./bin/smbclient -U slow%x -m smb3 //localhost/share -c "ls dir\*" > /dev/null
> > > Domain=[SLOWSERVER] OS=[] Server=[]
> > >
> > > real 0m0.352s
> > > user 0m0.063s
> > > sys 0m0.031s
> > >
> > > What do you think?
> >
> > I *really* like this. Will try and get time to review tomorrow !
>
> did you get a change to look at this one?
Forgot it over Christmas, thanks for reminding me !
More information about the samba-technical
mailing list