svn commit: r355992 - head/usr.bin/nfsstat
Rick Macklem
rmacklem at FreeBSD.org
Sun Dec 22 00:12:23 UTC 2019
Author: rmacklem
Date: Sun Dec 22 00:12:22 2019
New Revision: 355992
URL: https://svnweb.freebsd.org/changeset/base/355992
Log:
Update nfsstat to list the NFSv4.2 procedures and operations.
r355677 added NFSv4.2 support to the NFS client and server. It also updated
the nfsstats structure to keep counts for the new procedures (client) and
operations (server) added for NFSv4.2.
This patch updates the "-E" option of nfsstat so that it lists counts for
these new procedures and operations.
Modified:
head/usr.bin/nfsstat/nfsstat.c
Modified: head/usr.bin/nfsstat/nfsstat.c
==============================================================================
--- head/usr.bin/nfsstat/nfsstat.c Sat Dec 21 22:32:24 2019 (r355991)
+++ head/usr.bin/nfsstat/nfsstat.c Sun Dec 22 00:12:22 2019 (r355992)
@@ -772,6 +772,31 @@ exp_intpr(int clientOnly, int serverOnly, int nfs41)
(uintmax_t)ext_nfsstats.rpccnt[NFSPROC_CREATELAYGET]);
xo_close_container("nfsv41");
+
+ xo_open_container("nfsv42");
+
+ xo_emit("{T:IOAdvise/%13.13s}{T:Allocate/%13.13s}"
+ "{T:Copy/%13.13s}{T:Seek/%13.13s}"
+ "{T:SeekDataS/%13.13s}{T:GetExtattr/%13.13s}\n");
+ xo_emit("{:ioadvise/%13ju}{:allocate/%13ju}"
+ "{:copy/%13ju}{:seek/%13ju}"
+ "{:seekdatas/%13ju}{:getextattr/%13ju}\n",
+ (uintmax_t)ext_nfsstats.rpccnt[NFSPROC_IOADVISE],
+ (uintmax_t)ext_nfsstats.rpccnt[NFSPROC_ALLOCATE],
+ (uintmax_t)ext_nfsstats.rpccnt[NFSPROC_COPY],
+ (uintmax_t)ext_nfsstats.rpccnt[NFSPROC_SEEK],
+ (uintmax_t)ext_nfsstats.rpccnt[NFSPROC_SEEKDS],
+ (uintmax_t)ext_nfsstats.rpccnt[NFSPROC_GETEXTATTR]);
+
+ xo_emit("{T:SetExtattr/%13.13s}{T:RmExtattr/%13.13s}"
+ "{T:ListExtattr/%13.13s}\n");
+ xo_emit("{:setextattr/%13ju}{:rmextattr/%13ju}"
+ "{:listextattr/%13ju}\n",
+ (uintmax_t)ext_nfsstats.rpccnt[NFSPROC_SETEXTATTR],
+ (uintmax_t)ext_nfsstats.rpccnt[NFSPROC_RMEXTATTR],
+ (uintmax_t)ext_nfsstats.rpccnt[NFSPROC_LISTEXTATTR]);
+
+ xo_close_container("nfsv42");
}
xo_close_container("operations");
@@ -993,6 +1018,48 @@ exp_intpr(int clientOnly, int serverOnly, int nfs41)
(uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_RECLAIMCOMPL]);
xo_close_container("nfsv41");
+
+ xo_open_container("nfsv42");
+
+ xo_emit("{T:Allocate/%13.13s}{T:Copy/%13.13s}"
+ "{T:CopyNotify/%13.13s}{T:Deallocate/%13.13s}"
+ "{T:IOAdvise/%13.13s}{T:LayoutError/%13.13s}\n");
+ xo_emit("{:allocate/%13ju}{:copy/%13ju}"
+ "{:copynotify/%13ju}{:deallocate/%13ju}"
+ "{:ioadvise/%13ju}{:layouterror/%13ju}\n",
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_ALLOCATE],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_COPY],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_COPYNOTIFY],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_DEALLOCATE],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_IOADVISE],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_LAYOUTERROR]);
+
+ xo_emit("{T:LayoutStats/%13.13s}{T:OffloadCncl/%13.13s}"
+ "{T:OffloadStat/%13.13s}{T:ReadPlus/%13.13s}"
+ "{T:Seek/%13.13s}{T:WriteSame/%13.13s}\n");
+ xo_emit("{:layoutstats/%13ju}{:offloadcncl/%13ju}"
+ "{:offloadstat/%13ju}{:readplus/%13ju}"
+ "{:seek/%13ju}{:writesame/%13ju}\n",
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_LAYOUTSTATS],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_OFFLOADCANCEL],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_OFFLOADSTATUS],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_READPLUS],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_SEEK],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_WRITESAME]);
+
+ xo_emit("{T:Clone/%13.13s}{T:GetExtattr/%13.13s}"
+ "{T:SetExtattr/%13.13s}{T:ListExtattr/%13.13s}"
+ "{T:RmExtattr/%13.13s}\n");
+ xo_emit("{:clone/%13ju}{:getextattr/%13ju}"
+ "{:setextattr/%13ju}{:listextattr/%13ju}"
+ "{:rmextattr/%13ju}\n",
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_CLONE],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_GETXATTR],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_SETXATTR],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_LISTXATTRS],
+ (uintmax_t)ext_nfsstats.srvrpccnt[NFSV4OP_REMOVEXATTR]);
+
+ xo_close_container("nfsv42");
}
xo_close_container("operations");
More information about the svn-src-all
mailing list