summaryrefslogtreecommitdiff
path: root/docs/fs.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/fs.md')
-rw-r--r--docs/fs.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/fs.md b/docs/fs.md
index d1ed2b73..6d2891e0 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -106,6 +106,16 @@ at the cost of acme's one-step `new/body`. Nothing in the tree is created by
list, stat, walk or read; only that one open. Every other name in `/pane` is a
serial.
+A session cannot open its own tree through a mount. Looking at
+`/mnt/9p/pardes/<me>/anything` from inside that very editor used to hang it
+outright: the realpath, the stat and the read all leave through the mount and
+come back as 9P requests only that editor's loop can answer, while the loop is
+blocked making them, and the filesystem then stops answering anybody. Such a
+path is now refused by name before any syscall runs, because the syscall is the
+thing that never returns. Address your own tree as `/n/self/...`, which the
+editor serves from memory without leaving the process. Another session's mount
+is perfectly fine to open.
+
`/look` and `/exec` are the editor's two clicks, one per line of a write:
- a line written to `look` is a right click on it: a path opens a file,