DragonFly-2.3.1.830.gc0885 master sys/kern vfs_bio.c vfs_vnops.c sys/sys buf.h device.h fcntl.h vnode.h sys/vfs/fifofs fifo_vnops.c sys/vfs/specfs spec_vnops.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Jul 13 20:51:07 PDT 2009
commit c0885fab015851c4716c393c27efdbfc37a7cd67
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Jul 13 20:41:30 2009 -0700
MPSAFE - Add read() and write() path MPSAFE support, and more.
* Add sysctl vfs.read_mpsafe, vfs.write_mpsafe, and vfs.getattr_mpsafe.
Only vfs.read_mpsafe is currently implemented, and only for HAMMER
filesystems.
* read() and write() will now call VOP_READ()/VOP_WRITE() without the
MP lock if the vnode->v_flag says it is ok to do so.
* read() and write() now serialize reads and writes which depend on the
file offset stored in the fp, when the concurrent operations share the
same fp.
* Add vnode flags VMP_READ, VMP_WRITE, VMP_GETATTR.
* Add vnode flag VNOTSEEKABLE indicating that fp->f_offset will never be
used and no serialization is needed (which e.g. can mess up read()'s
blocking devices such as ttys).
* Correct bug in FIONREAD related to the data field being too small.
Summary of changes:
sys/kern/vfs_bio.c | 33 ++++++++-
sys/kern/vfs_vnops.c | 168 +++++++++++++++++++++++++++++++++++-------
sys/sys/buf.h | 1 +
sys/sys/device.h | 1 +
sys/sys/fcntl.h | 2 +
sys/sys/vnode.h | 2 +-
sys/vfs/fifofs/fifo_vnops.c | 1 +
sys/vfs/specfs/spec_vnops.c | 2 +
8 files changed, 180 insertions(+), 30 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c0885fab015851c4716c393c27efdbfc37a7cd67
--
DragonFly BSD source repository
More information about the Commits
mailing list