diff options
| -rw-r--r-- | mirai/invocations/os/diskinfo.zig | 5 | ||||
| -rw-r--r-- | resources/system/akiba/mirai.version | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/mirai/invocations/os/diskinfo.zig b/mirai/invocations/os/diskinfo.zig index 62c73dc..7844e9b 100644 --- a/mirai/invocations/os/diskinfo.zig +++ b/mirai/invocations/os/diskinfo.zig @@ -2,6 +2,7 @@ const afs = @import("../../fs/afs/afs.zig"); const ahci = @import("../../drivers/ahci/ahci.zig"); +const cpu = @import("../../asm/cpu.zig"); const handler = @import("../handler.zig"); const result = @import("../../utils/types/result.zig"); @@ -16,7 +17,11 @@ pub fn invoke(ctx: *handler.InvocationContext) void { const used_ptr: *u64 = @ptrFromInt(ctx.rsi); if (fs_instance) |fs| { + // Disable interrupts during disk read to prevent race conditions + cpu.disable_interrupts(); const info = fs.get_disk_info(); + cpu.enable_interrupts(); + total_ptr.* = info.total_bytes; used_ptr.* = info.used_bytes; result.set_ok(ctx); diff --git a/resources/system/akiba/mirai.version b/resources/system/akiba/mirai.version index 6c6aa7c..60453e6 100644 --- a/resources/system/akiba/mirai.version +++ b/resources/system/akiba/mirai.version @@ -1 +1 @@ -0.1.0
\ No newline at end of file +v1.0.0
\ No newline at end of file |
