Knob to turn off _POSIX_NO_TRUNC

Gary Jennejohn gljennjohn at googlemail.com
Tue Apr 5 16:31:10 UTC 2011


On Tue, 5 Apr 2011 18:40:02 +0300
Kostik Belousov <kostikbel at gmail.com> wrote:

> On Tue, Apr 05, 2011 at 05:27:46PM +0200, Gary Jennejohn wrote:
> > On Tue, 5 Apr 2011 17:16:31 +0300
> > Kostik Belousov <kostikbel at gmail.com> wrote:
> > > @@ -514,8 +519,14 @@ dirloop:
> > >  		continue;
> > >  	cnp->cn_namelen = cp - cnp->cn_nameptr;
> > >  	if (cnp->cn_namelen > NAME_MAX) {
> > > -		error = ENAMETOOLONG;
> > > -		goto bad;
> > > +		if (!lookup_trim) {
> > 
> > I would intuitively expect trimming to be enabled when the sysctl is set
> > to 1, but this is exactly the opposite of that.  I personally would
> > initialize it to 1.
> Trimming is indeed enabled when lookup_trim is set to 1.
> If lookup_trim is 0, you get ENAMETOOLONG.

OK, but trimming to me as a native english speaker means returning ENAMETOOLONG
rather than allowing names longer than NAME_MAX.  That is, after all, what trimming
means - cutting off.

-- 
Gary Jennejohn


More information about the freebsd-fs mailing list