kernel - Fix hammer recovery crash (due to recent syncer work)
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 14 Oct 2013 23:41:03 +0000 (16:41 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 14 Oct 2013 23:41:03 +0000 (16:41 -0700)
commitcf6a53ca558fa4bbc637ee3949e2436254bcf4c2
tree5aefea2cf48b6f3e69c44fcd273e6126f77994f5
parent00891516deedeeb5735ac0fb922e0a2823334f55
kernel - Fix hammer recovery crash (due to recent syncer work)

* Unconditionally create a syncer thread for each mount.  This way we can
  create the thread prior to calling VFS_MOUNT.

* hammer(1) needs to acquire vnodes and potentially issue vn_rdwr()'s during
  mount for recovery purposes.  This syncer thread is expected to already
  exist.  (and it does now).

* Remove the default syncer thread.

* rewrite speedup_syncer().
13 files changed:
sys/kern/vfs_init.c
sys/kern/vfs_mount.c
sys/kern/vfs_sync.c
sys/kern/vfs_vfsops.c
sys/sys/vnode.h
sys/vfs/hammer/hammer_vfsops.c
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/nfs/nfs_vfsops.c
sys/vfs/nullfs/null_vfsops.c
sys/vfs/tmpfs/tmpfs_vfsops.c
sys/vfs/ufs/ffs_softdep.c
sys/vm/vm_pageout.c