Date: Tue, 5 Apr 2011 13:16:32 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-fs@freebsd.org, gljennjohn@googlemail.com Subject: Re: Knob to turn off _POSIX_NO_TRUNC Message-ID: <201104051316.32704.jhb@freebsd.org> In-Reply-To: <20110405183104.2304d94e@ernst.jennejohn.org> References: <20110405141631.GA78089@deviant.kiev.zoral.com.ua> <20110405154002.GD78089@deviant.kiev.zoral.com.ua> <20110405183104.2304d94e@ernst.jennejohn.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, April 05, 2011 12:31:04 pm Gary Jennejohn wrote: > On Tue, 5 Apr 2011 18:40:02 +0300 > Kostik Belousov <kostikbel@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@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. Err, it shortens the name by chopping off the part beyond NAME_MAX ("trimming") when enabled. You could perhaps call it 'truncate_long_pathnames' instead of 'lookup_trim' if you wanted it to be very descriptive. Personally, I find this a bit hackish. You could always "fix" the 3rd party software by using LD_PRELOAD() to implement a wrapper around open() that trimmed the name if open() fails with ENAMETOOLONG. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104051316.32704.jhb>