nfs: log read/write/rename whatever the nfs version

These were previously logged correctly only for nfs v3

Now, the correct opcodes are used for v2 and v4 as well

Ticket: 8222
pull/14618/head
Philippe Antoine 3 months ago committed by Victor Julien
parent c20c7c1dfa
commit 1832b50506

@ -121,20 +121,18 @@ fn nfs_log_response(
js.set_string("status", &nfs3_status_string(tx.nfs_response_status))?;
if state.nfs_version <= 3 {
if tx.procedure == NFSPROC3_READ {
js.open_object("read")?;
nfs_file_object(tx, js)?;
js.close()?;
} else if tx.procedure == NFSPROC3_WRITE {
js.open_object("write")?;
nfs_file_object(tx, js)?;
js.close()?;
} else if tx.procedure == NFSPROC3_RENAME {
js.open_object("rename")?;
nfs_rename_object(tx, js)?;
js.close()?;
}
if nfs_is_read(state.nfs_version, tx.procedure) {
js.open_object("read")?;
nfs_file_object(tx, js)?;
js.close()?;
} else if nfs_is_write(state.nfs_version, tx.procedure) {
js.open_object("write")?;
nfs_file_object(tx, js)?;
js.close()?;
} else if nfs_is_rename(state.nfs_version, tx.procedure) {
js.open_object("rename")?;
nfs_rename_object(tx, js)?;
js.close()?;
}
Ok(())
}

@ -321,3 +321,33 @@ pub enum NfsProc4 {
}
pub const NFS4_OK: u32 = 0;
pub(super) fn nfs_is_read(version: u16, proc: u32) -> bool {
match version
{
2 => proc == (NfsProc2::READ as u32),
3 => proc == (NfsProc3::READ as u32),
4 => proc == (NfsProc4::READ as u32),
_ => false,
}
}
pub(super) fn nfs_is_write(version: u16, proc: u32) -> bool {
match version
{
2 => proc == (NfsProc2::WRITE as u32),
3 => proc == (NfsProc3::WRITE as u32),
4 => proc == (NfsProc4::WRITE as u32),
_ => false,
}
}
pub(super) fn nfs_is_rename(version: u16, proc: u32) -> bool {
match version
{
2 => proc == (NfsProc2::RENAME as u32),
3 => proc == (NfsProc3::RENAME as u32),
4 => proc == (NfsProc4::RENAME as u32),
_ => false,
}
}
Loading…
Cancel
Save