From owner-svn-src-all@freebsd.org Sun Dec 22 00:12:23 2019 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6B1B31E08B4; Sun, 22 Dec 2019 00:12:23 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 47gNGH2JHBz3JM4; Sun, 22 Dec 2019 00:12:23 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 48D811F32F; Sun, 22 Dec 2019 00:12:23 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id xBM0CNl2050505; Sun, 22 Dec 2019 00:12:23 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id xBM0CNE8050504; Sun, 22 Dec 2019 00:12:23 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201912220012.xBM0CNE8050504@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sun, 22 Dec 2019 00:12:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r355992 - head/usr.bin/nfsstat X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/usr.bin/nfsstat X-SVN-Commit-Revision: 355992 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Dec 2019 00:12:23 -0000 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");