hammer2 - refactor filesystem sync 5/N
commite89bd68487ad1e84651531db1eb4f1fa3b7dd4e0
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 1 Dec 2018 21:57:35 +0000 (1 13:57 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 5 Dec 2018 18:28:39 +0000 (5 10:28 -0800)
tree1b06c4b985d7ca7d5572f0c6959e8dbf27d17972
parent5479664496f16b60b4047689db475730961dcae2
hammer2 - refactor filesystem sync 5/N

* Dependency ops need one atomic wrapper.  Adjust the use of
  pmp->list_spin for the atomic wrapper.

* Reorder hammer2_inode_depend() call from after hammer2_igetv()
  to before it.  This is because hammer2_igetv() can temporarily
  release the inode lock and the dependency code assumes that does
  not happen.

* Cleanup

* This code is still not 100% because earlier dependency pairs
  that wind up on the sideq can be split if an overlapping dependency
  occurs later that flags PASS2.
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c