trace sys_write errors for low FDs
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user