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, 8 insertions, 2 deletions
diff --git a/docs/fs.md b/docs/fs.md
index 8805ffde..942a26a3 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -50,11 +50,15 @@ drive Unix or TCP without a kernel mount:
For [Linux v9fs](https://www.kernel.org/doc/html/latest/filesystems/9p.html),
use `version=9p2000,cache=none,access=any` and `trans=unix`, or `trans=tcp`
with `port=5640`. Set `uname`, `dfltuid`, and `dfltgid` for the local user.
-Leave `aname` empty: the mount root contains `os` and `self`. Kernel mounts
-are not part of the test suite. Neither 9P2000.u nor 9P2000.L is implemented.
+Leave `aname` empty: the mount root contains `os` and `self`. The opt-in
+[Linux v9fs experiment](v9fs.md) tests a kernel mount in a separate subprocess
+namespace (`zig build v9fs-test`, requiring explicit mount authorization).
+Neither 9P2000.u nor 9P2000.L is implemented.
Existing Plan9port/v9fs clients need a userspace bridge for QUIC.
The server root contains `os` and `self`. Under `self`, `index` lists panes,
+`README` explains the interface. `new/` lists its creation endpoints and another
+`README`; listing, walking and statting entries do not create panes. Opening
`new/ctl` creates a pane and returns its serial, and `pane/<serial>` contains
`body`, `tag`, `ctl`, `addr`, `data`, `event`, and selection files. Terminal
panes additionally have `pty/{ctl,status,data}`.
@@ -82,6 +86,8 @@ This is a control filesystem, not a complete POSIX export. Native filenames
may contain up to 255 bytes. Existing regular OS files support read, write,
and truncation to zero; protocol create, remove, rename, and other metadata
changes are refused. Ownership, permissions, and timestamps are synthetic.
+Zero-length truncation accepts the accompanying `mtime` hint sent by Linux
+v9fs; the hint is not stored. Standalone timestamp changes remain refused.
`zig build fs-test` drives real sessions using the independent Python client
in `test/ninep.py`. `zig build 9p-test` checks the freestanding wire protocol;