summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1994-09-22 02:15:34 +0000
committerwollman <wollman@FreeBSD.org>1994-09-22 02:15:34 +0000
commite1b54223d3428821fbda0745e63c72ae21fef7c8 (patch)
tree2281802939cee07bdce01c4dc0bd0033b51e8d04 /sbin
parent68f50003d4ef378e2b86e98bf13451d75f7504fd (diff)
downloadFreeBSD-src-e1b54223d3428821fbda0745e63c72ae21fef7c8.zip
FreeBSD-src-e1b54223d3428821fbda0745e63c72ae21fef7c8.tar.gz
Automatically load filesystem if not present in system and loadable.
Diffstat (limited to 'sbin')
-rw-r--r--sbin/mount_kernfs/mount_kernfs.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sbin/mount_kernfs/mount_kernfs.c b/sbin/mount_kernfs/mount_kernfs.c
index 33a6b5e..e3e2ec0 100644
--- a/sbin/mount_kernfs/mount_kernfs.c
+++ b/sbin/mount_kernfs/mount_kernfs.c
@@ -69,6 +69,7 @@ main(argc, argv)
char *argv[];
{
int ch, mntflags;
+ struct vfsconf *vfc;
mntflags = 0;
while ((ch = getopt(argc, argv, "o:")) != EOF)
@@ -86,7 +87,16 @@ main(argc, argv)
if (argc != 2)
usage();
- if (mount(MOUNT_KERNFS, argv[1], mntflags, NULL))
+ vfc = getvfsbyname("kernfs");
+ if(!vfc && vfsisloadable("kernfs")) {
+ if(vfsload("kernfs")) {
+ err(1, "vfsload(kernfs)");
+ }
+ endvfsent();
+ vfc = getvfsbyname("kernfs");
+ }
+
+ if (mount(vfc ? vfc->vfc_index : MOUNT_KERNFS, argv[1], mntflags, NULL))
err(1, NULL);
exit(0);
}
OpenPOWER on IntegriCloud