diff options
author | wollman <wollman@FreeBSD.org> | 1994-09-22 22:17:02 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1994-09-22 22:17:02 +0000 |
commit | eeef7952c3836dd1eb5e994695d5c745b6b51784 (patch) | |
tree | eae3d93fb9be635a1496c02de15cdef92b491f86 /sbin/mount_msdosfs | |
parent | d4b42cfe457790ba8db25f68e68f7c056ddc69b5 (diff) | |
download | FreeBSD-src-eeef7952c3836dd1eb5e994695d5c745b6b51784.zip FreeBSD-src-eeef7952c3836dd1eb5e994695d5c745b6b51784.tar.gz |
Automatically load NFS and a bevy of other filesystems.
Diffstat (limited to 'sbin/mount_msdosfs')
-rw-r--r-- | sbin/mount_msdosfs/mount_msdosfs.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sbin/mount_msdosfs/mount_msdosfs.c b/sbin/mount_msdosfs/mount_msdosfs.c index 075a512..9cac3ff 100644 --- a/sbin/mount_msdosfs/mount_msdosfs.c +++ b/sbin/mount_msdosfs/mount_msdosfs.c @@ -29,7 +29,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: mount_msdos.c,v 1.8 1994/07/16 21:32:08 cgd Exp $"; +static char rcsid[] = "$Id: mount_msdos.c,v 1.1 1994/09/19 15:30:36 dfr Exp $"; #endif /* not lint */ #include <sys/cdefs.h> @@ -67,6 +67,7 @@ main(argc, argv) struct stat sb; int c, mntflags, set_gid, set_uid, set_mask; char *dev, *dir, ndir[MAXPATHLEN+1]; + struct vfsconf *vfc; mntflags = set_gid = set_uid = set_mask = 0; (void)memset(&args, '\0', sizeof(args)); @@ -128,7 +129,15 @@ main(argc, argv) args.mask = sb.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO); } - if (mount(MOUNT_MSDOS, dir, mntflags, &args) < 0) + vfc = getvfsbyname("msdos"); + if(!vfc && vfsisloadable("msdos")) { + if(vfsload("msdos")) + err(1, "vfsload(msdos)"); + endvfsent(); /* clear cache */ + vfc = getvfsbyname("msdos"); + } + + if (mount(vfc ? vfc->vfc_index : MOUNT_MSDOS, dir, mntflags, &args) < 0) err(1, "mount"); exit (0); |