doc: update section "directory entries"

Explain why "." and ".." entries are missing from BookmarkFS.
This commit is contained in:
CismonX 2025-01-16 11:42:42 +08:00
parent 57a1a181b8
commit dad6533028
No known key found for this signature in database
GPG key ID: 3094873E29A482FB

View file

@ -582,7 +582,7 @@ The content of a bookmark file is usually the URL associated with the bookmark.
Not all bookmark names can be represented as a filename. Not all bookmark names can be represented as a filename.
For a bookmark or bookmark folder with an invalid name, the corresponding file For a bookmark or bookmark folder with an invalid name, the corresponding file
does not exist on the filesystem. is not visible to lookups and @code{readdir()} calls.
To deal with such bookmarks, @pxref{Filesystem Check}; To deal with such bookmarks, @pxref{Filesystem Check};
or you can instruct the backend to identify bookmarks using GUIDs or you can instruct the backend to identify bookmarks using GUIDs
instead of titles (and then access the titles via extended attributes). instead of titles (and then access the titles via extended attributes).
@ -745,9 +745,20 @@ The backend decides which attributes are available during initialization,
and all bookmark files share the same set of attributes. and all bookmark files share the same set of attributes.
@node Directory Entry Ordering @node Directory Entries
@section Directory Entry Ordering @section Directory Entries
@table @asis
@item The @samp{.} and @samp{..} entries
POSIX consider @samp{.} and @samp{..} as ``special'' filenames,
which must refer to the current and parent directory, if they exist.
These entries are optional, and BookmarkFS does not support them,
for the sake of simplicity.
Additionally, bookmarks with such names are hidden from the filesystem
until fixed with fsck (@pxref{Filesystem Check}).
@item Ordering of directory entries
POSIX does not specify the ordering of the directory entries retrieved from POSIX does not specify the ordering of the directory entries retrieved from
the directory stream using @posixfuncmanpage{readdir}. the directory stream using @posixfuncmanpage{readdir}.
It only guarantees that if an entry is not added or removed from the directory It only guarantees that if an entry is not added or removed from the directory
@ -774,6 +785,9 @@ directory traversal order.
New entries are appended to the end; removed entries do not affect New entries are appended to the end; removed entries do not affect
the order of other entries. the order of other entries.
To change the ordering of directory entries, @pxref{Permute Directory Entries}.
@end table
@node Permute Directory Entries @node Permute Directory Entries
@subsection Permute Directory Entries @subsection Permute Directory Entries
@ -857,6 +871,7 @@ A POSIX-compliant filesystem has various restrictions regarding filenames:
@item must not contain @samp{/} characters @item must not contain @samp{/} characters
@item must not be empty or longer than @code{NAME_MAX} @item must not be empty or longer than @code{NAME_MAX}
@item must not duplicate with another file in the same directory @item must not duplicate with another file in the same directory
@item @samp{.} and @samp{..} must refer to the current and parent directory
@end itemize @end itemize
It is commonplace for bookmark names to not meet such criteria, It is commonplace for bookmark names to not meet such criteria,