hammer2 - pfsmount -> clustermount separation part 2
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 15 Jun 2013 00:44:25 +0000 (17:44 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 15 Jun 2013 00:44:25 +0000 (17:44 -0700)
commita5913bdf3d73105a543cea7bc1b55768ddd56541
treea7c34071f7e180d0454f0abfa4d78a5b31a20965
parentdbb11a6e37f9767994b396b232c23f53c1810a2c
hammer2 - pfsmount -> clustermount separation part 2

* Further separate the high-level VNOPS/inode (hammer2_pfsmount) layer
  from the lower level device (hammer2_mount, hammer2_chain) layer.

* Remove hmp fields from hammer2_trans and hammer2_inode.

* Add hammer2_cluster to the pfsmount as degenerate case for now.  This
  will be used to list all devices backing the PFS mount, pertaining to
  the copies mechanism.

* Run all logical (file) buffer cache operations through the device buffer
  cache.  Remove previous direct-mapped shortcuts and disable BMAP for now.

  Basically the issue here is that with multiple devices backing a HAMMER2
  mount, the normal file buffer cache 'cached disk offset' operations used
  to shortcut I/O just won't work.  We can add the shortcut back in later
  for single-backing-device mounts but for now separate them out entirely
  and bcopy() between them.

* This will also make it easier for the GSOC H2 file compression project.

* Restore some of the lost performance by using the newly implemented
  cluster_readcb() buffer cache function.
sys/sys/dmsg.h
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_ccms.c
sys/vfs/hammer2/hammer2_ccms.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_flush.c
sys/vfs/hammer2/hammer2_freemap.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_ioctl.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c