git: hammer2 - stabilization pass

Matthew Dillon dillon at
Tue Jun 21 01:03:31 PDT 2016

commit b8b0be74d9deffb6be0d589c4412c9efdc7e7811
Author: Matthew Dillon <dillon at>
Date:   Tue Jun 21 00:31:53 2016 -0700

    hammer2 - stabilization pass
    * Fix a shared/exclusive deadlock.  When adding a ref to a shared lock
      that has already been obtained we must make a slightly different call
      than the normal one because the normal one will block on a pending
      exclusive request, causing a deadlock.
    * Add a missing BUF_KERNPROC().  Will hopefully fix a lock ownership
      assertion in the kernel that I've been hitting on heavy use.
    * Looks like NFS needs to do inode number lookups on softlinks, so
      add inode indexing to the softlink (and the mknod) code instead
      of embedding the softlink in the directory entry.

Summary of changes:
 sys/vfs/hammer2/hammer2.h       |  2 +-
 sys/vfs/hammer2/hammer2_chain.c | 26 +++++++++++++++++++++-----
 sys/vfs/hammer2/hammer2_io.c    |  2 ++
 sys/vfs/hammer2/hammer2_vnops.c | 27 +++++++++++++++++++++++----
 4 files changed, 47 insertions(+), 10 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list