hammer2 - Start adding internal cluster API
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 18 Mar 2014 16:35:21 +0000 (09:35 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 18 Mar 2014 16:35:21 +0000 (09:35 -0700)
commit278ab2b27e913575840951f625eb2d8620aafa34
tree5f6d47caddc3d8fe40219248ba854c1b0a55a6b5
parenta7ceaa31f2d0d6a37c1b8894fecd8d37c5356d19
hammer2 - Start adding internal cluster API

Initial addition of the cluster API.  H2 will be non-operational until this
is stabilized.  Adding the cluster API will require a few stages.  This first
stage is to add the API and make it work under degenerate (single-target)
conditions.

The hammer2_cluster structure collects and manages an array of up to
8 chains representing mirrors / cluster nodes / copies of the same point
in the topology.

* Add hammer2_cluster.c, and hammer2_cluster_t

* Replace nearly all high-level (vnops, vfsops) chain calls with
  cluster calls.
13 files changed:
sys/vfs/hammer2/Makefile
sys/vfs/hammer2/TODO
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_cluster.c [new file with mode: 0644]
sys/vfs/hammer2/hammer2_flush.c
sys/vfs/hammer2/hammer2_freemap.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_io.c
sys/vfs/hammer2/hammer2_ioctl.c
sys/vfs/hammer2/hammer2_subr.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c