Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Dec 2012 01:20:44 +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: r243783 - head/usr.bin/nfsstat
Message-ID:  <201212020120.qB21KibQ041151@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Sun Dec  2 01:20:43 2012
New Revision: 243783
URL: http://svnweb.freebsd.org/changeset/base/243783

Log:
  Add a "-m" option to nfsstat, which dumps out the
  actual options used by all NFS mounts. Works for
  the new/default NFS client only.
  
  Reviewed by:	alfred
  MFC after:	2 weeks

Modified:
  head/usr.bin/nfsstat/nfsstat.c

Modified: head/usr.bin/nfsstat/nfsstat.c
==============================================================================
--- head/usr.bin/nfsstat/nfsstat.c	Sun Dec  2 01:16:04 2012	(r243782)
+++ head/usr.bin/nfsstat/nfsstat.c	Sun Dec  2 01:20:43 2012	(r243783)
@@ -107,14 +107,36 @@ main(int argc, char **argv)
 	int ch;
 	char *memf, *nlistf;
 	char errbuf[_POSIX2_LINE_MAX];
+	int mntlen, i;
+	char buf[1024];
+	struct statfs *mntbuf;
+	struct nfscl_dumpmntopts dumpmntopts;
 
 	interval = 0;
 	memf = nlistf = NULL;
-	while ((ch = getopt(argc, argv, "cesWM:N:ow:z")) != -1)
+	while ((ch = getopt(argc, argv, "cesWM:mN:ow:z")) != -1)
 		switch(ch) {
 		case 'M':
 			memf = optarg;
 			break;
+		case 'm':
+			/* Display mount options for NFS mount points. */
+			mntlen = getmntinfo(&mntbuf, MNT_NOWAIT);
+			for (i = 0; i < mntlen; i++) {
+				if (strcmp(mntbuf->f_fstypename, "nfs") == 0) {
+					dumpmntopts.ndmnt_fname =
+					    mntbuf->f_mntonname;
+					dumpmntopts.ndmnt_buf = buf;
+					dumpmntopts.ndmnt_blen = sizeof(buf);
+					if (nfssvc(NFSSVC_DUMPMNTOPTS,
+					    &dumpmntopts) >= 0)
+						printf("%s on %s\n%s\n",
+						    mntbuf->f_mntfromname,
+						    mntbuf->f_mntonname, buf);
+				}
+				mntbuf++;
+			}
+			exit(0);
 		case 'N':
 			nlistf = optarg;
 			break;
@@ -646,7 +668,7 @@ void
 usage(void)
 {
 	(void)fprintf(stderr,
-	    "usage: nfsstat [-ceoszW] [-M core] [-N system] [-w wait]\n");
+	    "usage: nfsstat [-cemoszW] [-M core] [-N system] [-w wait]\n");
 	exit(1);
 }
 



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