hammer2 - create new branch, sync working trees from dillon & vsrinivas
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 8 Feb 2012 23:50:01 +0000 (15:50 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 9 Feb 2012 00:00:07 +0000 (16:00 -0800)
commit703720e4d599857d052f0a65f2840224ce36ec5a
treea46187cd9560c58f2ebfaaa9b78cb2158a01e394
parent79580b6b91b2d2b38532aa3837ac35f22055f2ab
hammer2 - create new branch, sync working trees from dillon & vsrinivas

* hammer2 branch in main repo created.  This branch will loosely track
  master with the additional hammer2 bits added.  Any changes that have to
  be made to non-hammer2 bits will be done in master and merged into this
  branch instead of the other way around.

* Merge dillon's and vsrinivas's work, placing the files in the appropriate
  places in the source tree.

* Initial whitespace cleanup so git doesn't complain

* Major adjustments to hammer2_disk.h taking into account all discussions
  between dillon and vsrinivas to date relative to the original design.

  (1) The media blockref was expanded from 32 to 64 bytes in order to
      accomodate up to a 192 bit cryptographic hash.

  (2) The new blockref will also support multiple crc/hash/check algorithms.

  (3) The new blockref will also support multiple block compression algorithms.

  (4) The new blockref supports a full 64-bit key as well as a key mask,
      and an explicit type field instead of overloading the functionality
      of data_off's 6-bit physical storage size radix.

  (5) The fully associative blockset was reduced from 16 to 8 blockref
      entries.

  (6) Support for multiple copies is possible within a fully associative
      blockset (also needed new fields in the new blockref).

  (7) The media volume structure has been fleshed out to support the new
      features.

  (8) The volume structure now also contains fields for configuring device
      paths for up to 8 copies, a fully associative blockset pointint to
      the root inode, and multiple sub-block crcs.
lib/libstand/hammer2.c [new file with mode: 0644]
sbin/mount_hammer2/Makefile [new file with mode: 0644]
sbin/mount_hammer2/mount_hammer2.c [new file with mode: 0644]
sys/vfs/hammer2/Makefile [new file with mode: 0644]
sys/vfs/hammer2/hammer2.h [new file with mode: 0644]
sys/vfs/hammer2/hammer2_disk.h [new file with mode: 0644]
sys/vfs/hammer2/hammer2_icrc.c [new file with mode: 0644]
sys/vfs/hammer2/hammer2_mount.h [new file with mode: 0644]
sys/vfs/hammer2/hammer2_subr.c [new file with mode: 0644]
sys/vfs/hammer2/hammer2_vfsops.c [new file with mode: 0644]
sys/vfs/hammer2/hammer2_vnops.c [new file with mode: 0644]