From f8710ab27b54bf0241ad2ed629ccc98aaa619709 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Wed, 30 Sep 2026 21:40:57 -0300 Subject: Edit's w and the other left-out sam commands fail EIO in words, never EOPNOTSUPP, and /os refuses a rename or a chmod as not permitted, EACCES "w is not supported in pardes" read through a mount as EOPNOTSUPP, as if the file system lacked an operation, and a chmod under /os was answered "invalid truncate", EINVAL. An Edit command pardes leaves out now says so in words 9ns reads as EIO, and a rename or mode change of an /os file is "permission denied", EACCES. fs.md's Failure section and /os entry say both. Co-Authored-By: Claude Opus 5.5 --- docs/fs.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/fs.md b/docs/fs.md index c01587a1..15f490ec 100644 --- a/docs/fs.md +++ b/docs/fs.md @@ -139,8 +139,9 @@ never a C library string. Through 9ns the kernel sees an errno 9ns reads from those words (cloud9 `9ns/src/nine.zig`, `enameToErrno`): `control message`, `invalid` or `bad ` is EINVAL (malformed input); `no such`, `not found` ENOENT; `in use` EBUSY; `no space` ENOSPC; `denied` EACCES; anything -else, such as `no match for regexp`, `address out of range` or `Modified`, -EIO. The `err` record has the words; a shell sees +else, such as `no match for regexp`, `address out of range`, `Modified` or +an `Edit` command pardes leaves out (`w`, `e`, `r`, `|`: `w is a sam command +pardes's Edit leaves out`), EIO; no refusal reads as EOPNOTSUPP. The `err` record has the words; a shell sees only the errno, most often `Invalid argument` or `Input/output error`. Not failures: a look that finds nothing (it answers nothing and logs one @@ -708,7 +709,8 @@ become spaces. one at its last (a PDF's is its page); a look at a row reopens it there. - `/status`: `pid`, `version`, `panes`. - `/os/`: existing regular files take read, write and truncation to zero; - create, remove, rename and metadata changes are refused; ownership is + create, remove, rename and mode changes are refused as not permitted + (`permission denied`, EACCES through a mount); ownership is synthetic. Linux v9fs's truncation `mtime` hint is accepted and dropped. - `/src/` (and `/shaders` on GUI builds) with `-Dembed-sources=true`; `EffectCode ` lists an effect's files under `/virtual`. -- cgit v1.3