diff --git a/rust/src/nfs/log.rs b/rust/src/nfs/log.rs index 6cd463a754..65edc524f2 100644 --- a/rust/src/nfs/log.rs +++ b/rust/src/nfs/log.rs @@ -111,20 +111,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(()) } diff --git a/rust/src/nfs/types.rs b/rust/src/nfs/types.rs index f93f650410..2203f900b0 100644 --- a/rust/src/nfs/types.rs +++ b/rust/src/nfs/types.rs @@ -348,3 +348,33 @@ pub fn nfs4_procedure_string(procedure: u32) -> String { } 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, + 4 => proc == NFSPROC4_READ, + _ => false, + } +} + +pub(super) fn nfs_is_write(version: u16, proc: u32) -> bool { + match version + { + 2 => proc == (NfsProc2::WRITE as u32), + 3 => proc == NFSPROC3_WRITE, + 4 => proc == NFSPROC4_WRITE, + _ => false, + } +} + +pub(super) fn nfs_is_rename(version: u16, proc: u32) -> bool { + match version + { + 2 => proc == (NfsProc2::RENAME as u32), + 3 => proc == NFSPROC3_RENAME, + 4 => proc == NFSPROC4_RENAME, + _ => false, + } +} \ No newline at end of file