hammer2 - Refactor frontend part 7/many
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 17 Jun 2015 18:00:19 +0000 (11:00 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 18 Jun 2015 00:15:40 +0000 (17:15 -0700)
commit2ed4fecefa0bf1e6d3eb06b037189cb2bb5d5b52
treee5602520dfb2447ec8b533ad845a739685782507
parent3c8b994d106c884893fde7b0f920707d62e7764e
hammer2 - Refactor frontend part 7/many

* Start fleshing out the XOP infrastructure.  The frontend will use this
  infrastructure to replicate VOPs to per-node threads for cluster operation.

  The basic idea here is for a VOP to allocate an xop and throw it into a
  xop_group (of which several are available).  ALL nodes associated with
  that xop_group will then process the xop each in their own thread.

  The xop can be detached from the frontend once the cluster operation
  completes, if interruptability is desired due to a stalled cluster,
  or once the operation has run on a sufficient number of nodes but still
  might be running or stalled on remaining nodes.

* Rename hammer2_syncthr.c, it is now more generic.
sys/vfs/hammer2/Makefile
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_thread.c [moved from sys/vfs/hammer2/hammer2_syncthr.c with 83% similarity]
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c