trace sys_write errors for low FDs

This commit is contained in:
2026-07-11 06:35:23 +03:00
parent be8b1a9f79
commit 8f34d2e2ad
+7
View File
@@ -855,6 +855,7 @@ pub fn sys_read(fd: FileHandle, buf: UserSliceWo, token: &mut CleanLockToken) ->
Ok(bytes_read)
}
pub fn sys_write(fd: FileHandle, buf: UserSliceRo, token: &mut CleanLockToken) -> Result<usize> {
let result = (|| {
let (bytes_written, desc_arc, desc) =
file_op_generic_ext(fd, token, |scheme, desc_arc, desc, token| {
let offset = if desc.internal_flags.contains(InternalFlags::POSITIONED) {
@@ -879,4 +880,10 @@ pub fn sys_write(fd: FileHandle, buf: UserSliceRo, token: &mut CleanLockToken) -
guard.io_syscw = guard.io_syscw.saturating_add(1);
guard.io_write_bytes = guard.io_write_bytes.saturating_add(bytes_written as u64);
Ok(bytes_written)
})();
if result.is_err() && fd.get() <= 10 {
let name = context::current().read(token.token()).name;
info!("sys_write fd={} ctx='{}' err={:?}", fd.get(), name, result.as_ref().err());
}
result
}