svn commit: r227333 - in head: . sys/amd64/conf sys/arm/conf
sys/conf sys/i386/conf sys/ia64/conf sys/kern sys/mips/conf
sys/pc98/conf sys/powerpc/conf sys/sparc64/conf
Attilio Rao
attilio at FreeBSD.org
Tue Nov 8 10:18:08 UTC 2011
Author: attilio
Date: Tue Nov 8 10:18:07 2011
New Revision: 227333
URL: http://svn.freebsd.org/changeset/base/227333
Log:
Introduce the option VFS_ALLOW_NONMPSAFE and turn it on by default on
all the architectures.
The option allows to mount non-MPSAFE filesystem. Without it, the
kernel will refuse to mount a non-MPSAFE filesytem.
This patch is part of the effort of killing non-MPSAFE filesystems
from the tree.
No MFC is expected for this patch.
Tested by: gianni
Reviewed by: kib
Modified:
head/UPDATING
head/sys/amd64/conf/DEFAULTS
head/sys/arm/conf/DEFAULTS
head/sys/conf/NOTES
head/sys/conf/options
head/sys/i386/conf/DEFAULTS
head/sys/ia64/conf/DEFAULTS
head/sys/kern/vfs_mount.c
head/sys/mips/conf/DEFAULTS
head/sys/pc98/conf/DEFAULTS
head/sys/powerpc/conf/DEFAULTS
head/sys/sparc64/conf/DEFAULTS
Modified: head/UPDATING
==============================================================================
--- head/UPDATING Tue Nov 8 08:29:05 2011 (r227332)
+++ head/UPDATING Tue Nov 8 10:18:07 2011 (r227333)
@@ -22,6 +22,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
machines to maximize performance. (To disable malloc debugging, run
ln -s aj /etc/malloc.conf.)
+20111108:
+ The option VFS_ALLOW_NONMPSAFE option has been added in order to
+ explicitely support non-MPSAFE filesystems.
+ It is on by default for all supported platform at this present
+ time.
+
20111101:
The broken amd(4) driver has been replaced with esp(4) in the amd64,
i386 and pc98 GENERIC kernel configuration files.
Modified: head/sys/amd64/conf/DEFAULTS
==============================================================================
--- head/sys/amd64/conf/DEFAULTS Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/amd64/conf/DEFAULTS Tue Nov 8 10:18:07 2011 (r227333)
@@ -22,3 +22,6 @@ options GEOM_PART_EBR_COMPAT
options GEOM_PART_MBR
options NEW_PCIB
+
+# Allow mounting non-MPSAFE filesystems
+options VFS_ALLOW_NONMPSAFE
Modified: head/sys/arm/conf/DEFAULTS
==============================================================================
--- head/sys/arm/conf/DEFAULTS Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/arm/conf/DEFAULTS Tue Nov 8 10:18:07 2011 (r227333)
@@ -9,3 +9,5 @@ device mem
options GEOM_PART_BSD
options GEOM_PART_MBR
+
+options VFS_ALLOW_NONMPSAFE
Modified: head/sys/conf/NOTES
==============================================================================
--- head/sys/conf/NOTES Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/conf/NOTES Tue Nov 8 10:18:07 2011 (r227333)
@@ -1104,6 +1104,9 @@ options XFS
# unsuitable for inclusion on machines with untrusted local users.
options VFS_AIO
+# Enable mounting of non-MPSAFE filesystems.
+options VFS_ALLOW_NONMPSAFE
+
# Cryptographically secure random number generator; /dev/random
device random
Modified: head/sys/conf/options
==============================================================================
--- head/sys/conf/options Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/conf/options Tue Nov 8 10:18:07 2011 (r227333)
@@ -185,6 +185,7 @@ SYSVSHM opt_sysvipc.h
SW_WATCHDOG opt_watchdog.h
TURNSTILE_PROFILING
VFS_AIO
+VFS_ALLOW_NONMPSAFE
VERBOSE_SYSINIT opt_global.h
WLCACHE opt_wavelan.h
WLDEBUG opt_wavelan.h
Modified: head/sys/i386/conf/DEFAULTS
==============================================================================
--- head/sys/i386/conf/DEFAULTS Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/i386/conf/DEFAULTS Tue Nov 8 10:18:07 2011 (r227333)
@@ -30,3 +30,6 @@ options NATIVE
device atpic
options NEW_PCIB
+
+# Allow mounting non-MPSAFE filesystems
+options VFS_ALLOW_NONMPSAFE
Modified: head/sys/ia64/conf/DEFAULTS
==============================================================================
--- head/sys/ia64/conf/DEFAULTS Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/ia64/conf/DEFAULTS Tue Nov 8 10:18:07 2011 (r227333)
@@ -20,3 +20,6 @@ options GEOM_PART_GPT
options GEOM_PART_MBR
options NEW_PCIB
+
+# Allow mounting non-MPSAFE filesystems
+options VFS_ALLOW_NONMPSAFE
Modified: head/sys/kern/vfs_mount.c
==============================================================================
--- head/sys/kern/vfs_mount.c Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/kern/vfs_mount.c Tue Nov 8 10:18:07 2011 (r227333)
@@ -37,6 +37,8 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
+#include "opt_vfs_allow_nonmpsafe.h"
+
#include <sys/param.h>
#include <sys/conf.h>
#include <sys/fcntl.h>
@@ -798,6 +800,14 @@ vfs_domount_first(
* get. No freeing of cn_pnbuf.
*/
error = VFS_MOUNT(mp);
+#ifndef VFS_ALLOW_NONMPSAFE
+ if (error == 0 && VFS_NEEDSGIANT(mp)) {
+ (void)VFS_UNMOUNT(mp, fsflags);
+ error = ENXIO;
+ printf("%s: Mounting non-MPSAFE fs (%s) is disabled\n",
+ __func__, mp->mnt_vfc->vfc_name);
+ }
+#endif
if (error != 0) {
vfs_unbusy(mp);
vfs_mount_destroy(mp);
@@ -807,6 +817,11 @@ vfs_domount_first(
vrele(vp);
return (error);
}
+#ifdef VFS_ALLOW_NONMPSAFE
+ if (VFS_NEEDSGIANT(mp))
+ printf("%s: Mounting non-MPSAFE fs (%s) is deprecated\n",
+ __func__, mp->mnt_vfc->vfc_name);
+#endif
if (mp->mnt_opt != NULL)
vfs_freeopts(mp->mnt_opt);
Modified: head/sys/mips/conf/DEFAULTS
==============================================================================
--- head/sys/mips/conf/DEFAULTS Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/mips/conf/DEFAULTS Tue Nov 8 10:18:07 2011 (r227333)
@@ -9,3 +9,5 @@ device uart_ns8250
options GEOM_PART_BSD
options GEOM_PART_MBR
+
+options VFS_ALLOW_NONMPSAFE
Modified: head/sys/pc98/conf/DEFAULTS
==============================================================================
--- head/sys/pc98/conf/DEFAULTS Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/pc98/conf/DEFAULTS Tue Nov 8 10:18:07 2011 (r227333)
@@ -29,3 +29,6 @@ options GEOM_PART_PC98
device atpic
options NEW_PCIB
+
+# Allow mounting non-MPSAFE filesystems
+options VFS_ALLOW_NONMPSAFE
Modified: head/sys/powerpc/conf/DEFAULTS
==============================================================================
--- head/sys/powerpc/conf/DEFAULTS Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/powerpc/conf/DEFAULTS Tue Nov 8 10:18:07 2011 (r227333)
@@ -12,3 +12,6 @@ device uart_z8530
options GEOM_PART_APM
options GEOM_PART_MBR
+
+# Allow mounting non-MPSAFE filesystems
+options VFS_ALLOW_NONMPSAFE
Modified: head/sys/sparc64/conf/DEFAULTS
==============================================================================
--- head/sys/sparc64/conf/DEFAULTS Tue Nov 8 08:29:05 2011 (r227332)
+++ head/sys/sparc64/conf/DEFAULTS Tue Nov 8 10:18:07 2011 (r227333)
@@ -21,3 +21,6 @@ options GEOM_PART_VTOC8
options SUNKBD_EMULATE_ATKBD
options NEW_PCIB
+
+# Allow mounting non-MPSAFE filesystems
+options VFS_ALLOW_NONMPSAFE
More information about the svn-src-all
mailing list