mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 12:54:27 +00:00
Added lsvfs command to show loaded VFS modules (including statically-linked
ones).
This commit is contained in:
parent
c8939366a1
commit
2a136300ac
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=2965
4
usr.bin/lsvfs/Makefile
Normal file
4
usr.bin/lsvfs/Makefile
Normal file
|
@ -0,0 +1,4 @@
|
|||
# $Id$
|
||||
PROG= lsvfs
|
||||
|
||||
.include <bsd.prog.mk>
|
53
usr.bin/lsvfs/lsvfs.1
Normal file
53
usr.bin/lsvfs/lsvfs.1
Normal file
|
@ -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.
|
50
usr.bin/lsvfs/lsvfs.c
Normal file
50
usr.bin/lsvfs/lsvfs.c
Normal file
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in a new issue