git: kernel - Add per-mount token to replace mplock.
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Dec 26 20:59:32 PST 2009
commit aac0aabd82a73635c9a3833e2802aa51946e5246
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Dec 26 18:12:56 2009 -0800
kernel - Add per-mount token to replace mplock.
* Fix issues with dupfdopen() not being MPSAFE.
* Implement a dummy mount structure for devfs-synthesized vnodes prior
to the root mount.
* Wrap all VFS_*() calls, including vfs_init() and vfs_uninit(), to
acquire the per-mount token if not flagged as being MPSAFE.
* Wrap all VOP_*() calls to acquire the per-mount token if not flagged
as being MPSAFE.
* Move VOP_READ/VOP_WRITE MPSAFE flags to the mount structure.
* Make fifoops MPSAFE (so HAMMER can flag read & write as being
MPSAFE generally).
* The VFS code currently also acquires the MP lock when not MPSAFE
(there are things called by VFSes which are not yet MPSAFE), except
for read() and write().
Summary of changes:
sys/conf/files | 1 +
sys/kern/kern_descrip.c | 13 +-
sys/kern/vfs_conf.c | 7 +-
sys/kern/vfs_init.c | 5 +-
sys/kern/vfs_mount.c | 35 +++-
sys/kern/vfs_syscalls.c | 14 +-
sys/kern/vfs_vfsops.c | 330 ++++++++++++++++++++++++++++++++++++
sys/kern/vfs_vnops.c | 43 +----
sys/kern/vfs_vopops.c | 364 ++++++++++++++++++++++++++++++++++++++--
sys/sys/mount.h | 79 +++++++--
sys/sys/vfsops.h | 6 +-
sys/sys/vnode.h | 11 +-
sys/vfs/fifofs/fifo_vnops.c | 85 +++++++---
sys/vfs/hammer/hammer_inode.c | 5 -
sys/vfs/hammer/hammer_vfsops.c | 12 ++
15 files changed, 886 insertions(+), 124 deletions(-)
create mode 100644 sys/kern/vfs_vfsops.c
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/aac0aabd82a73635c9a3833e2802aa51946e5246
--
DragonFly BSD source repository
More information about the Commits
mailing list