DragonFly-2.3.1.825.gb1c20 master sys/kern vfs_bio.c vfs_cluster.c vfs_lock.c vfs_subr.c vfs_sync.c sys/sys buf.h sys/vfs/gnu/ext2fs ext2_bmap.c sys/vfs/hammer hammer_io.c sys/vfs/nfs nfs_bio.c nfs_serv.c nfs_vnops.c sys/vfs/ufs ffs_softdep.c ufs_bmap.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Jul 13 20:51:08 PDT 2009
commit b1c20cfa90fe1b1b6ab1a34b5ea98c33b5336ec9
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Jul 13 15:57:53 2009 -0700
BUF/BIO - MPSAFE work on core buffer cache routines.
Do initial MPSAFE work on getblk(), bread(), brelse(), bqrelse(),
biowait(), and friends. Use get_mplock()/rel_mplock() in areas not
yet converted.
Add a flags argument to findblk() and have it return a locked buffer
cache buffer by default. Callers may request that the buffer be
locked non-blocking, or that it not be locked at all.
Adjust all callers of findblk() for those cases where an unlocked
buffer is desired to lock and re-check the returned buffer's parameters,
since otherwise it can change out from under the caller whether a critical
section is used or not (for SMP).
Summary of changes:
sys/kern/vfs_bio.c | 250 ++++++++++++++++++++++++++--------------
sys/kern/vfs_cluster.c | 83 ++++++--------
sys/kern/vfs_lock.c | 2 +
sys/kern/vfs_subr.c | 20 ++--
sys/kern/vfs_sync.c | 2 +
sys/sys/buf.h | 7 +-
sys/vfs/gnu/ext2fs/ext2_bmap.c | 5 +-
sys/vfs/hammer/hammer_io.c | 4 +-
sys/vfs/nfs/nfs_bio.c | 5 +-
sys/vfs/nfs/nfs_serv.c | 13 +-
sys/vfs/nfs/nfs_vnops.c | 66 ++++++-----
sys/vfs/ufs/ffs_softdep.c | 2 +-
sys/vfs/ufs/ufs_bmap.c | 6 +-
13 files changed, 274 insertions(+), 191 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b1c20cfa90fe1b1b6ab1a34b5ea98c33b5336ec9
--
DragonFly BSD source repository
More information about the Commits
mailing list