summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2006-09-26 20:42:43 +0000
committerJim Meyering <jim@meyering.net>2006-09-26 20:42:43 +0000
commita86a56f7d101fbdeed6a64eb6b351ba67bfa5d05 (patch)
tree0c4f480961a521f120a6ce2348c4852d290721de
parentb7c315cdda2d1d189232c2cd36f3b2610914e5f3 (diff)
downloadcoreutils-a86a56f7d101fbdeed6a64eb6b351ba67bfa5d05.tar.xz
* NEWS: rm works around a bug in Darwin 8.6.1 w/NFS that kept
it from removing a directory containing 188 or more entries. * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Decrease by 20, go work around the buggy readdir on Darwin 8.6.1 with NFS. Reported by Matthew Woehlke.
-rw-r--r--ChangeLog8
-rw-r--r--NEWS3
-rw-r--r--src/remove.c7
3 files changed, 15 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 1f31f0886..23e4e5a15 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-09-26 Jim Meyering <jim@meyering.net>
+
+ * NEWS: rm works around a bug in Darwin 8.6.1 w/NFS that kept
+ it from removing a directory containing 188 or more entries.
+ * src/remove.c (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Decrease by
+ 20, go work around the buggy readdir on Darwin 8.6.1 with NFS.
+ Reported by Matthew Woehlke.
+
2006-09-26 Paul Eggert <eggert@cs.ucla.edu>
* NEWS: "groups user" no longer outputs "user :"; you need at least
diff --git a/NEWS b/NEWS
index 815b0762a..ce7280894 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,9 @@ GNU coreutils NEWS -*- outline -*-
** Improved robustness
+ rm works around a bug in Darwin 8.6.1 w/NFS that kept it from removing
+ a directory containing 188 or more entries.
+
sort would fail to handle very large input (around 40GB) on systems with a
mkstemp function that returns a file descriptor limited to 32-bit offsets.
diff --git a/src/remove.c b/src/remove.c
index 670ba485b..24426cff9 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -56,11 +56,12 @@
SunOS's readdir when applied to ufs file systems and Darwin 6.5's
(and OSX v.10.3.8's) HFS+. This maximum is conservative in that
demonstrating the problem seems to require a directory containing
- at least 254 deletable entries (which doesn't count . and ..), so
- we could conceivably increase the maximum value to 254. */
+ at least 254 deletable entries (which doesn't count . and ..).
+ However, in 2006, we see that Darwin 8.6.1, using NFS has an even
+ lower limit: 188. */
enum
{
- CONSECUTIVE_READDIR_UNLINK_THRESHOLD = 200
+ CONSECUTIVE_READDIR_UNLINK_THRESHOLD = 180
};
enum Ternary