Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Dec 2019 00:12:23 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r355992 - head/usr.bin/nfsstat
Message-ID:  <201912220012.xBM0CNE8050504@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912220012.xBM0CNE8050504>