git: kernel - Add per-mount token to replace mplock.

看板DFBSD_commit作者時間16年前 (2009/12/27 13:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit aac0aabd82a73635c9a3833e2802aa51946e5246 Author: Matthew Dillon <dillon@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
文章代碼(AID): #1BDkeJeq (DFBSD_commit)