diff options
author | Jim Meyering <jim@meyering.net> | 2006-09-26 20:42:43 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2006-09-26 20:42:43 +0000 |
commit | a86a56f7d101fbdeed6a64eb6b351ba67bfa5d05 (patch) | |
tree | 0c4f480961a521f120a6ce2348c4852d290721de | |
parent | b7c315cdda2d1d189232c2cd36f3b2610914e5f3 (diff) | |
download | coreutils-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-- | ChangeLog | 8 | ||||
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | src/remove.c | 7 |
3 files changed, 15 insertions, 3 deletions
@@ -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 @@ -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 |