summaryrefslogtreecommitdiff
path: root/contrib/smbfs
diff options
context:
space:
mode:
authorMaxime Henrion <mux@FreeBSD.org>2004-06-20 14:30:33 +0000
committerMaxime Henrion <mux@FreeBSD.org>2004-06-20 14:30:33 +0000
commit56cb1e8cca78396cb5cb2bb3e16066707ed8f43f (patch)
tree02a0d869da82f2ecacbd97aca6632abe31e78a53 /contrib/smbfs
parent4456263490aa664e1689673ebc25ef70f282e80e (diff)
downloadsrc-test2-56cb1e8cca78396cb5cb2bb3e16066707ed8f43f.tar.gz
src-test2-56cb1e8cca78396cb5cb2bb3e16066707ed8f43f.zip
Notes
Diffstat (limited to 'contrib/smbfs')
-rw-r--r--contrib/smbfs/mount_smbfs/mount_smbfs.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/contrib/smbfs/mount_smbfs/mount_smbfs.c b/contrib/smbfs/mount_smbfs/mount_smbfs.c
index dee87116244c..2ba41f054809 100644
--- a/contrib/smbfs/mount_smbfs/mount_smbfs.c
+++ b/contrib/smbfs/mount_smbfs/mount_smbfs.c
@@ -35,6 +35,7 @@
#include <sys/param.h>
#include <sys/stat.h>
#include <sys/errno.h>
+#include <sys/linker.h>
#include <sys/mount.h>
#include <stdio.h>
@@ -75,6 +76,8 @@ main(int argc, char *argv[])
#ifdef APPLE
extern void dropsuid();
extern int loadsmbvfs();
+#else
+ struct xvfsconf vfc;
#endif
char *next;
int opt, error, mntflags, caseopt;
@@ -97,9 +100,16 @@ main(int argc, char *argv[])
#ifdef APPLE
error = loadsmbvfs();
+#else
+ error = getvfsbyname(SMBFS_VFSNAME, &vfc);
+ if (error) {
+ if (kldload(SMBFS_VFSNAME))
+ err(EX_OSERR, "kldload("SMBFS_VFSNAME")");
+ error = getvfsbyname(SMBFS_VFSNAME, &vfc);
+ }
+#endif
if (error)
errx(EX_OSERR, "SMB filesystem is not available");
-#endif
if (smb_lib_init() != 0)
exit(1);