From owner-svn-src-all@FreeBSD.ORG Sat Jan 8 00:41:17 2011 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 390E910656AA; Sat, 8 Jan 2011 00:41:17 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail05.syd.optusnet.com.au (mail05.syd.optusnet.com.au [211.29.132.186]) by mx1.freebsd.org (Postfix) with ESMTP id E69A48FC0C; Sat, 8 Jan 2011 00:41:16 +0000 (UTC) Received: from c122-106-165-206.carlnfd1.nsw.optusnet.com.au (c122-106-165-206.carlnfd1.nsw.optusnet.com.au [122.106.165.206]) by mail05.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p080fDGd021336 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 8 Jan 2011 11:41:14 +1100 Date: Sat, 8 Jan 2011 11:41:13 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Jilles Tjoelker In-Reply-To: <201101080003.p0803J1S070169@svn.freebsd.org> Message-ID: <20110108112559.U7585@besplex.bde.org> References: <201101080003.p0803J1S070169@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r217133 - head/usr.bin/sed X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Jan 2011 00:41:17 -0000 On Sat, 8 Jan 2011, Jilles Tjoelker wrote: > Log: > sed: Try hard links to make -i target available continually. > ... > I am not adding the suppression of redundant fchown/fchmod to this commit, > because FreeBSD appears to check this in the kernel (for msdosfs at least). I vaguely remember fixing (?) ffs to allow null changes even in cases where permissions should deny changes (perhaps even null ones). msdosfs is still very inconsistent in ignoring (non-null) changes for attributes that it cannot support. Most annoying is utimes() with a non-null times pointer. This requires either the file's uid to match the process's uid, or superuser privileges. The file's uid is fake. It can be anything, but is rarely you. So you normally need superuser privilege to copy file times. msdosfs cannot really support copying file times from most file other file systems even for the superuser, since it only has mtimes and has deficient precision even for those, but it silently ignores errors from these problems. Ignoring errors is not good, but this is almost the best possible. Best would be to give the user and application more control, and have applications actually control things properly. The best possible behaviour is what happens for copying ids when the ids don't match -- cp sees the error and reports it and then proceeds; this is accidentally best since there is no possibility of setting the ids. However, for file times it is possible in theory to set the mtime, but impossible in practice unless you are the superuser or own the file. Bruce