From 7c01c060c296c348d1da1587cfdd5c7419889c92 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 13 May 2005 07:39:56 +0000 Subject: *** empty log message *** --- ChangeLog | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 78284a9c3..3e2d6ff5d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,32 @@ -2005-05-12 Paul Eggert +2005-05-13 Jim Meyering * Version 5.3.1. + * NEWS: `rm -r' now removes all of the files it should, even on + systems with a buggy readdir affecting file systems inaccessible + at configure time. + + In some unusual circumstances `rm -r' would fail to remove -- + or even consider -- all entries in a directory with more than 254 + (SunOS) or 338 (Darwin) entries. This could cause trouble even on + other types of systems when using an affected file system via e.g., + NFS. The underlying cause was a bug in readdir on those systems. + Coreutils-5.2.1 and earlier used a configure-time test designed + to detect precisely those problem systems, but it would detect + the problem and enable remove.c's work-around code only when its + configure-time test was run on a losing file system. Obviously, + it couldn't detect a problem if the offending file system wasn't + tested or even mounted at coreutils configure time. Now, rm itself + performs a minimal-cost run-time test to detect the problem. + + * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Define. + (remove_cwd_entries): When readdir returns NULL for a directory from + which we've removed more than CONSECUTIVE_READDIR_UNLINK_THRESHOLD + entries, call rewinddir and then resume the readdir/unlink loop. + (UNLINK_CAN_UNLINK_DIRS): Rename from ROOT_CAN_UNLINK_DIRS. + +2005-05-12 Paul Eggert + * NEWS: nohup now closes stdin if it is a terminal, unless POSIXLY_CORRECT is set. This fixes a glitch noted by Wayne Pollock in