On 01/11/2011 08:12 AM, Nadav Har'El wrote: > On Tue, Jan 11, 2011, Eric Blake wrote about "Re: bug#7823: Rm -f fails on non-existant file": >> Feel free to file a bug report to the smbfs people. POSIX does not >> specify EINVAL (except for bad flags to unlinkat), but does have a >> global clause that states that any errno not specifically listed may be >> returned if it is a better fit than any mandated error. On the other >> hand, the next version of POSIX will be mandating that the case of an >> unsupported byte in a filename ('*' in the case of smbfs) shall fail >> with EILSEQ, not EINVAL (that is, if they don't return the equally valid >> ENOENT failure). See http://austingroupbugs.net/view.php?id=293, for >> justification why smbfs ought to change their errno value away from EINVAL. > > Thanks, I'll look at how to send them a bug report as well. > >> Yes, since POSIX doesn't specify EINVAL for any other situation, I see >> no harm in globally exempting it (with a comment why) in our source >> code; likewise, I see no problem in also adding EILSEQ to that list, >> whether or not smbfs also fixes their bug. >> >> Is it okay if I push this patch in your name? > > Yes, looks good. Thanks. Actually, this is a bug fix, so I'm also squashing this NEWS blurb in, then pushing: diff --git i/NEWS w/NEWS index 5a70243..9ccad63 100644 --- i/NEWS +++ w/NEWS @@ -10,6 +10,9 @@ GNU coreutils NEWS -*- outline -*- argument following the one containing the moved sub-tree. [bug introduced in coreutils-5.1.0] + rm -f no longer fails for EINVAL or EILSEQ on file systems that + reject file names invalid for that file system. + * Noteworthy changes in release 8.9 (2011-01-04) [stable] -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org