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