diff options
author | wollman <wollman@FreeBSD.org> | 1994-09-22 01:25:57 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1994-09-22 01:25:57 +0000 |
commit | 5d3abfe67897908c0cdd71c81918db7588913aa6 (patch) | |
tree | 6af75fd17b8ed91d3cab334f77782313ddcbf621 /usr.bin/lsvfs | |
parent | e45f1435202cb2bf1c3a97dfc122d11155b5925a (diff) | |
download | FreeBSD-src-5d3abfe67897908c0cdd71c81918db7588913aa6.zip FreeBSD-src-5d3abfe67897908c0cdd71c81918db7588913aa6.tar.gz |
Added lsvfs command to show loaded VFS modules (including statically-linked
ones).
Diffstat (limited to 'usr.bin/lsvfs')
-rw-r--r-- | usr.bin/lsvfs/Makefile | 4 | ||||
-rw-r--r-- | usr.bin/lsvfs/lsvfs.1 | 53 | ||||
-rw-r--r-- | usr.bin/lsvfs/lsvfs.c | 50 |
3 files changed, 107 insertions, 0 deletions
diff --git a/usr.bin/lsvfs/Makefile b/usr.bin/lsvfs/Makefile new file mode 100644 index 0000000..3b25443 --- /dev/null +++ b/usr.bin/lsvfs/Makefile @@ -0,0 +1,4 @@ +# $Id$ +PROG= lsvfs + +.include <bsd.prog.mk> diff --git a/usr.bin/lsvfs/lsvfs.1 b/usr.bin/lsvfs/lsvfs.1 new file mode 100644 index 0000000..03a1139 --- /dev/null +++ b/usr.bin/lsvfs/lsvfs.1 @@ -0,0 +1,53 @@ +.\" $Id$ +.\" Garrett A. Wollman, September 1994 +.\" This file is in the public domain. +.\" +.Dd September 21, 1994 +.Dt LSVFS 1 +.Os +.Sh NAME +.Nm lsvfs +.Nd list installed virtual file systems +.Sh SYNOPSIS +.Nm lsvfs +.Op Ar vfsname Ar ... +.Sh DESCRIPTION +The +.Nm lsvfs +command lists information about the currently loaded virtual filesystem +modules. When +.Ar vfsname +arguments are given, +.Nm lsvfs +lists information about the specified VFS modules. Otherwise, +.Nm lsvfs +lists all currently loaded modules. +The information is as follows: +.Pp +.Bl -tag -compact -width Filesystem +.It Filesystem +the name of the filesystem, as would be used in the +.Fl t +option to +.Xr mount 8 +.It Index +the kernel filesystem switch slot number for this filesystem, as would be +used in the +.Ar type +parameter to +.Xr mount 2 +.It Refs +the number of references to this VFS; i.e., the number of currently +mounted filesystems of this type +.It Flags +flag bits (none are currently defined). +.El +.Sh SEE ALSO +.Xr mount 2 , +.Xr mount 8 +.Sh HISTORY +A +.Nm +comand appeared in +.Tn FreeBSD +2.0. diff --git a/usr.bin/lsvfs/lsvfs.c b/usr.bin/lsvfs/lsvfs.c new file mode 100644 index 0000000..30ce386 --- /dev/null +++ b/usr.bin/lsvfs/lsvfs.c @@ -0,0 +1,50 @@ +/* + * lsvfs - lsit loaded VFSes + * Garrett A. Wollman, September 1994 + * This file is in the public domain. + */ + +#include <sys/types.h> +#include <sys/param.h> +#include <sys/mount.h> +#include <stdio.h> +#include <err.h> + +#define FMT "%-32.32s %5d %5d %5d\n" +#define HDRFMT "%-32.32s %5.5s %5.5s %5.5s\n" +#define DASHES "-------------------------------- ---- ---- ----\n" + +int +main(int argc, char **argv) +{ + int rv = 0; + struct vfsconf *vfc; + argc--, argv++; + + setvfsent(1); + + printf(HDRFMT, "Filesystem", "Index", "Refs", "Flags"); + fputs(DASHES, stdout); + + if(argc) { + for(; argc; argc--, argv++) { + vfc = getvfsbyname(*argv); + if(vfc) { + printf(FMT, vfc->vfc_name, vfc->vfc_index, vfc->vfc_refcount, + vfc->vfc_flags); + } else { + warnx("VFS %s unknown or not loaded", name); + rv++; + } + } + } else { + while(vfc = getvfsent()) { + printf(FMT, vfc->vfc_name, vfc->vfc_index, vfc->vfc_refcount, + vfc->vfc_flags); + } + } + + endvfsent(); + return rv; +} + |