]> git.ipfire.org Git - thirdparty/coreutils.git/commit
rm -f: ignore EROFS when it's really ENOENT
authorJim Meyering <meyering@redhat.com>
Tue, 3 Nov 2009 11:01:40 +0000 (12:01 +0100)
committerJim Meyering <meyering@redhat.com>
Tue, 3 Nov 2009 13:14:00 +0000 (14:14 +0100)
commit7bf2e3db23bd0a9ed59d95a683edd188fa52a033
tree3f77ae8bbb8370e44d0cf7209ccb45af975db8b0
parent87bf834dd36646f0e413c1afeb5d498079d1bb14
rm -f: ignore EROFS when it's really ENOENT

rm -f must not print a diagnostic for a nonexistent file.  However,
most linux-based kernel unlinkat functions set errno to EROFS when
the named file (regardless of whether it exists) would lie on a
read-only file system.  remove.c now performs an extra fstatat call
in that case, to determine whether the file exists.
* src/remove.c (excise): Map EROFS to ENOENT, if a file is nonexistent.
Reported by Steven Drake in <http://savannah.gnu.org/bugs/?27923>.
* NEWS (Changes in behavior): Mention it.
NEWS
THANKS
src/remove.c