hammer2 - Refactor reserved block selection in freemap code
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 9 Dec 2013 22:47:11 +0000 (14:47 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 9 Dec 2013 22:51:23 +0000 (14:51 -0800)
commita3fd5153b49b22a6959247e242ef7e56e37b6f2e
tree322b7098814ec01b7c374066774e4086fdb31ceb
parente05895f1fad7b89999a9a84bbe97c2272de79e3e
hammer2 - Refactor reserved block selection in freemap code

* Refactor the reserved block selection in the freemap code.  Move from
  4 copies of each freemap block to 15 copies in order to ensure
  that any of the four volume header backups (which are rotated on each
  flush) can be used at mount-time.

* A better algorithm could use as few as 10 copies but for now I am using
  a more trivial algorithm which needs 15.

* No media changes, the 4MB/2GB of space already reserved had sufficient
  room.
sys/vfs/hammer2/hammer2_disk.h
sys/vfs/hammer2/hammer2_freemap.c