From owner-svn-src-head@FreeBSD.ORG Thu Jul 9 17:30:48 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AF5C10656D5; Thu, 9 Jul 2009 17:30:48 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay04.stack.nl [IPv6:2001:610:1108:5010::107]) by mx1.freebsd.org (Postfix) with ESMTP id D3B428FC18; Thu, 9 Jul 2009 17:30:47 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from snail.stack.nl (snail.stack.nl [IPv6:2001:610:1108:5010::131]) by mx1.stack.nl (Postfix) with ESMTP id 8D9E0375831; Thu, 9 Jul 2009 19:30:46 +0200 (CEST) Received: by snail.stack.nl (Postfix, from userid 1677) id 7BA10228CC; Thu, 9 Jul 2009 19:30:46 +0200 (CEST) Date: Thu, 9 Jul 2009 19:30:46 +0200 From: Jilles Tjoelker To: Edward Tomasz Napierala Message-ID: <20090709173046.GA48155@stack.nl> References: <200907081523.n68FNIpi055036@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200907081523.n68FNIpi055036@svn.freebsd.org> User-Agent: Mutt/1.5.18 (2008-05-17) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195458 - in head: include lib/libc/sys sys/bsm sys/compat/freebsd32 sys/compat/svr4 sys/i386/ibcs2 sys/kern sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2009 17:30:49 -0000 On Wed, Jul 08, 2009 at 03:23:18PM +0000, Edward Tomasz Napierala wrote: > Author: trasz > Date: Wed Jul 8 15:23:18 2009 > New Revision: 195458 > URL: http://svn.freebsd.org/changeset/base/195458 > Log: > There is an optimization in chmod(1), that makes it not to call chmod(2) > if the new file mode is the same as it was before; however, this > optimization must be disabled for filesystems that support NFSv4 ACLs. > Chmod uses pathconf(2) to determine whether this is the case - however, > pathconf(2) always follows symbolic links, while the 'chmod -h' doesn't. > This change adds lpathconf(3) to make it possible to solve that problem > in a clean way. I think pathconfat() would be nicer than adding a function that will not appear in standards and lacks a useful feature. Compare futimens() and utimensat() in the 2008 POSIX spec, and notice that there is no such thing as lutimes() in POSIX (it can be done with utimensat()). Another consideration is that lpathconf/pathconfat may be considered "new work". The problem I brought up can also be fixed by never using the optimization for symlinks. -- Jilles Tjoelker