summaryrefslogtreecommitdiff
path: root/src/9p_io.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 05:15:57 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commit32198b59020e295efbc48de343a9de69c952dcfc (patch)
tree41e2c98839e844193fcd06f04f0f3aca4af3e252 /src/9p_io.zig
parent429c1e5e65afa4c65fa42bbb117c4b32a46a9470 (diff)
downloadpardes-32198b59020e295efbc48de343a9de69c952dcfc.tar.gz
pardes-32198b59020e295efbc48de343a9de69c952dcfc.zip
A Save that fails logs its err, not a save record
The save record was logged as soon as the host was asked to write, so a Save into a read-only directory logged save and then failed. It is now logged only once the write is done; a failure's err record (the write's, naming the path) stands alone, the msg it was also said as dropped. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/9p_io.zig')
-rw-r--r--src/9p_io.zig3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/9p_io.zig b/src/9p_io.zig
index 72963e08..bda1ad36 100644
--- a/src/9p_io.zig
+++ b/src/9p_io.zig
@@ -316,6 +316,9 @@ pub const Listener = struct {
// settle in the same wait is told to this write too.
if (l.core == core and core.fs.late_failure_len != 0) {
const failed = pardes.ctlfs.failText(req.tag, pardes.ctlfs.E.IO, core.fs.late_failure[0..core.fs.late_failure_len]);
+ // Its err record says it (the path in it); the msg the failure
+ // was also said as goes, as a builtin's failing a write does.
+ pardes.ctlfs.events.dropMessage(core, core.fs.late_failure[0..core.fs.late_failure_len]);
pardes.ctlfs.events.noteError(core, req, failed);
return conn.reply(&failed, "");
}