From owner-cvs-all@FreeBSD.ORG Thu Jul 8 06:04:45 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 82B7C16A4D1; Thu, 8 Jul 2004 06:04:45 +0000 (GMT) Received: from mailout1.pacific.net.au (mailout1.pacific.net.au [61.8.0.84]) by mx1.FreeBSD.org (Postfix) with ESMTP id 04B6543D1F; Thu, 8 Jul 2004 06:04:45 +0000 (GMT) (envelope-from bde@zeta.org.au) Received: from mailproxy1.pacific.net.au (mailproxy1.pacific.net.au [61.8.0.86])i6864h4u001358; Thu, 8 Jul 2004 16:04:43 +1000 Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246]) i6864eao005992; Thu, 8 Jul 2004 16:04:41 +1000 Date: Thu, 8 Jul 2004 16:04:40 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Garrett Wollman In-Reply-To: <200407080133.i681XnxH041060@khavrinen.lcs.mit.edu> Message-ID: <20040708154704.L13116@gamplex.bde.org> References: <200407072047.i67Klgqu082069@repoman.freebsd.org> <20040707233455.GI95729@elvis.mu.org> <200407080133.i681XnxH041060@khavrinen.lcs.mit.edu> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org cc: Alfred Perlstein cc: cvs-all@FreeBSD.org cc: src-committers@FreeBSD.org Subject: Re: cvs commit: src/lib/libc/sys pathconf.2 X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2004 06:04:45 -0000 On Wed, 7 Jul 2004, Garrett Wollman wrote: > < said: > > > if _PC_NO_TRUNC returns 1 then an application should assume that > > names longer than 14 characters (_POSIX_NAME_MAX) are truncated??? > > No. Under obsolete versions of POSIX, if {NO_TRUNC} is nonzero, an > application should assume that pathname components longer than > {NAME_MAX} are not truncated, but instead result in the [ENAMETOOLONG] > error. Under the current version of POSIX, [ENAMETOOLONG] is > mandatory for all systems; this was an obsolete option to allow for > the behavior of the V7 filesystem, which has been phased out. This doesn't apply to FreeBSD. Truncation is still useful (and used) for old non-POSIX file systems like msdosfs: % static int % msdosfs_pathconf(ap) % struct vop_pathconf_args /* { % struct vnode *a_vp; % int a_name; % int *a_retval; % } */ *ap; % { % struct msdosfsmount *pmp = VTODE(ap->a_vp)->de_pmp; % % switch (ap->a_name) { % ... % case _PC_NO_TRUNC: % *ap->a_retval = 0; % return (0); % ... % } htpfs and ntpfs also return 0 for _PC_NO_TRUNC, possibly for less reason. AFAIK they don't have too-small file name lengths, but they may need to truncate names because that is what their native operating system does. Bruce