[Midnightbsd-cvs] src [8858] trunk/sys/kern/vfs_init.c: dont worry if a module is already loaded when looking for a fstype to mount.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Mon Sep 26 09:03:14 EDT 2016


Revision: 8858
          http://svnweb.midnightbsd.org/src/?rev=8858
Author:   laffer1
Date:     2016-09-26 09:03:14 -0400 (Mon, 26 Sep 2016)
Log Message:
-----------
dont worry if a module is already loaded when looking for a fstype to mount.

Modified Paths:
--------------
    trunk/sys/kern/vfs_init.c

Modified: trunk/sys/kern/vfs_init.c
===================================================================
--- trunk/sys/kern/vfs_init.c	2016-09-26 13:02:01 UTC (rev 8857)
+++ trunk/sys/kern/vfs_init.c	2016-09-26 13:03:14 UTC (rev 8858)
@@ -122,7 +122,7 @@
 vfs_byname_kld(const char *fstype, struct thread *td, int *error)
 {
 	struct vfsconf *vfsp;
-	int fileid;
+	int fileid, loaded;
 
 	vfsp = vfs_byname(fstype);
 	if (vfsp != NULL)
@@ -130,6 +130,9 @@
 
 	/* Try to load the respective module. */
 	*error = kern_kldload(td, fstype, &fileid);
+	loaded = (*error == 0);
+	if (*error == EEXIST)
+		*error = 0;
 	if (*error)
 		return (NULL);
 
@@ -136,7 +139,8 @@
 	/* Look up again to see if the VFS was loaded. */
 	vfsp = vfs_byname(fstype);
 	if (vfsp == NULL) {
-		(void)kern_kldunload(td, fileid, LINKER_UNLOAD_FORCE);
+		if (loaded)
+			(void)kern_kldunload(td, fileid, LINKER_UNLOAD_FORCE);
 		*error = ENODEV;
 		return (NULL);
 	}



More information about the Midnightbsd-cvs mailing list