summaryrefslogtreecommitdiffstats
path: root/lib/libc/gen/directory.3
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/gen/directory.3')
-rw-r--r--lib/libc/gen/directory.325
1 files changed, 24 insertions, 1 deletions
diff --git a/lib/libc/gen/directory.3 b/lib/libc/gen/directory.3
index 1e864f8..e1874da 100644
--- a/lib/libc/gen/directory.3
+++ b/lib/libc/gen/directory.3
@@ -267,4 +267,27 @@ The invalidation of
.Fn telldir
tokens when calling
.Fn seekdir
-is non-standard.
+is non-standard. This is a compile time option.
+.Pp
+The behaviour of
+.Fn telldir
+and
+.Fn seekdir
+is likely to be wrong if there are parallel unlinks happening
+and the directory is larger than one page.
+There is code to ensure that a
+.Fn seekdir
+to the location given by a
+.Fn telldir
+immediately before the last
+.Fn readdir
+will always set the correct location to return the same value as that last
+.Fn readdir
+performed.
+This is enough for some applications which want to "push back the last entry read" E.g. Samba.
+Seeks back to any other location,
+other than the beginning of the directory,
+may result in unexpected behaviour if deletes are present.
+It is hoped that this situation will be resolved with changes to
+.Fn getdirentries
+and the VFS.
OpenPOWER on IntegriCloud