hammer2 - stabilization pass
commitb8b0be74d9deffb6be0d589c4412c9efdc7e7811
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 21 Jun 2016 07:31:53 +0000 (21 00:31 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 21 Jun 2016 07:31:53 +0000 (21 00:31 -0700)
tree5fac3d731f24716cef8155a66b3d0603317e615f
parent29de73b336993130e7ac16db0c2d45a2c5ae8523
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.
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_io.c
sys/vfs/hammer2/hammer2_vnops.c