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/lsvfs.c | |
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/lsvfs.c')
-rw-r--r-- | usr.bin/lsvfs/lsvfs.c | 50 |
1 files changed, 50 insertions, 0 deletions
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; +} + |