svn commit: r241896 - in head: . cddl/contrib/opensolaris/lib/libzpool/common/sys share/man/man9 sys/cam/ctl sys/cddl/compat/opensolaris/kern sys/cddl/compat/opensolaris/sys sys/cddl/contrib/openso...
Ben Kaduk
minimarmot at gmail.com
Tue Nov 6 22:50:44 UTC 2012
On Mon, Oct 22, 2012 at 1:50 PM, Konstantin Belousov <kib at freebsd.org> wrote:
> Author: kib
> Date: Mon Oct 22 17:50:54 2012
> New Revision: 241896
> URL: http://svn.freebsd.org/changeset/base/241896
>
> Log:
> Remove the support for using non-mpsafe filesystem modules.
>
> In particular, do not lock Giant conditionally when calling into the
> filesystem module, remove the VFS_LOCK_GIANT() and related
> macros. Stop handling buffers belonging to non-mpsafe filesystems.
>
> The VFS_VERSION is bumped to indicate the interface change which does
> not result in the interface signatures changes.
>
> Conducted and reviewed by: attilio
> Tested by: pho
>
Sorry for late reply.
% --- head/sys/sys/namei.h 2011/12/29 12:28:05 228952
% +++ head/sys/sys/namei.h 2012/10/22 17:50:54 241896
% @@ -144,15 +144,11 @@
% #define ISOPEN 0x00200000 /* caller is opening; return a real vnode. */
% #define NOCROSSMOUNT 0x00400000 /* do not cross mount points */
% #define NOMACCHECK 0x00800000 /* do not perform MAC checks */
% -#define MPSAFE 0x01000000 /* namei() must acquire Giant if needed. */
It seems that removing the definition of MPSAFE causes out-of-tree
filesystem modules to not build.
Perhaps a definition can remain for some period to allow a smoother transition?
Conditional on __FreeBSD_Version is the proper fix, of course, but
takes longer to get everywhere.
-Ben Kaduk
% -#define GIANTHELD 0x02000000 /* namei() is holding giant. */
% #define AUDITVNODE1 0x04000000 /* audit the looked up vnode information */
% #define AUDITVNODE2 0x08000000 /* audit the looked up vnode information */
% #define TRAILINGSLASH 0x10000000 /* path ended in a slash */
% #define PARAMASK 0x1ffffe00 /* mask of parameter descriptors */
%
% -#define NDHASGIANT(NDP) (((NDP)->ni_cnd.cn_flags & GIANTHELD) != 0)
% -
% /*
% * Initialization of a nameidata structure.
% */
More information about the svn-src-all
mailing list