HAMMER Filesystem changes:
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 3 Dec 2008 02:11:43 +0000 (18:11 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 3 Dec 2008 02:11:43 +0000 (18:11 -0800)
commit5e435c92464bba65df27315ea1e25ab06939ddad
treee8f5ff66398d79f654f8cbe17889118ebc8f3bd2
parent88dea4433de4de31022000768cbccc6263bf21fa
HAMMER Filesystem changes:

* Add version checking to the hammer mount code.

* Add ioctls to fetch the hammer filesystem version and to upgrade it,
  to support future filesystem revisions.

* Rewrite the algorithm used to integrate reservations with the blockmap
  allocate/free code to fix a bug.  hammer_buffers were sometimes not
  being properly destroyed causing conflicts with later reallocations.

* Add support for up to four directory hash algorithms.  Add flexibility
  to the namekey iterator API to allow the algorithm to control the
  iteration space.

* When iterating memory with the CURSOR_DELETE_VISIBILITY flag set, ignore
  the record deleted flags.

HAMMER Utilities changes:

* Add two new hammer directives, 'version' and 'version-upgrade'.

* Change hammer namekey directive to 'namekey1' and 'namekey2', to support
  generating directory hashes for different hashing algorithms.

* Change hammer cleanup to still prune for existing snapshots even if
  new snapshot generation is disabled.

* Change hammer cleanup's default snapshots config for temporary
  filesystems from 'snapshots 0d 60d' to 'snapshots 0d 0d'.

Reported-by: "Justin C. Sherrill" <justin@shiningsilence.com> (blockmap bug)
12 files changed:
sbin/hammer/cmd_cleanup.c
sbin/hammer/hammer.8
sbin/hammer/hammer.c
sbin/newfs_hammer/newfs_hammer.c
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_blockmap.c
sys/vfs/hammer/hammer_disk.h
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_object.c
sys/vfs/hammer/hammer_subs.c
sys/vfs/hammer/hammer_vfsops.c
sys/vfs/hammer/hammer_vnops.c