From 284ab0ad86310df45ecc3887cb6ed2f8cf507e45 Mon Sep 17 00:00:00 2001 From: Siddharth Sinha Date: Sun, 5 Apr 2026 20:18:39 +0530 Subject: [PATCH] std.Io.Uring: handle ReadOnlyFileSystem in dirOpenDir and dirRealPathFile f4eecf8d7d added ROFS handling to openat but missed these two read-only callers, breaking compilation of any Io.Evented program. --- lib/std/Io/Uring.zig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/std/Io/Uring.zig b/lib/std/Io/Uring.zig index 3112a9b463..0b800682a1 100644 --- a/lib/std/Io/Uring.zig +++ b/lib/std/Io/Uring.zig @@ -2739,6 +2739,7 @@ fn dirOpenDir( error.FileBusy => return errnoBug(.TXTBSY), error.PathAlreadyExists => return errnoBug(.EXIST), // Not creating. error.OperationUnsupported => return errnoBug(.OPNOTSUPP), // No TMPFILE, no locks. + error.ReadOnlyFileSystem => return errnoBug(.ROFS), // Not creating. else => |e| return e, }, }; @@ -3164,6 +3165,7 @@ fn dirRealPathFile( }, 0) catch |err| switch (err) { error.WouldBlock => return errnoBug(.AGAIN), error.OperationUnsupported => return errnoBug(.OPNOTSUPP), // Not asking for locks. + error.ReadOnlyFileSystem => return errnoBug(.ROFS), // Not creating. else => |e| return e, }; defer ev.closeAsync(fd);