DragonFly BSD
DragonFly commits List (threaded) for 2013-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: hammer2 - serialized flush work part 2


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 31 Jan 2013 16:28:57 -0800 (PST)

commit e2e9e2dbb419600b6f99d26f4a4d773dcc04e2f5
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Wed Jan 30 22:41:52 2013 -0800

    hammer2 - serialized flush work part 2
    
    * Adjust the hammer2_inode_lock*() API to separate the inode lock from
      the chain lock (it gets both).  The locked chain associated with the
      inode is now returned and can change during search iterations, eventually
      to be returned via hammer2_inode_unlock*().
    
    * Fixes issues related to threads obtaining more than 1 shared lock on the
      same chain, which can deadlock deeper procedures which might need to
      temporarily upgrade the lock.
    
    * Continue working through bugs.

Summary of changes:
 sys/vfs/hammer2/hammer2.h        |  16 +--
 sys/vfs/hammer2/hammer2_inode.c  | 195 +++++++++++++++-------------
 sys/vfs/hammer2/hammer2_ioctl.c  |  21 +--
 sys/vfs/hammer2/hammer2_subr.c   |  48 +++++--
 sys/vfs/hammer2/hammer2_vfsops.c |  19 +--
 sys/vfs/hammer2/hammer2_vnops.c  | 269 +++++++++++++++++++++------------------
 6 files changed, 315 insertions(+), 253 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e2e9e2dbb419600b6f99d26f4a4d773dcc04e2f5


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]