hammer2 - Adjust chain lookup/iteration API, add readdir
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 13 Feb 2012 00:50:01 +0000 (16:50 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 13 Feb 2012 00:50:01 +0000 (16:50 -0800)
commite028fa747e9825425f74da7e9c57a50a82b48e82
treede1c2b4375b6e413670219e1676208dc17a44b60
parent2ecbffd56004d8dadd27e90dec6c48f1bde83b5e
hammer2 - Adjust chain lookup/iteration API, add readdir

* Adjust the chain lookup/iteration API to take a key range key_beg to key_end
  (inclusive), instead of a key/mask pair.

* Add and initialize a parent inode pointer in hammer2_inode{}.

* Adjust the directory key hash to always OR with 0x8000U in order to
  guarantee that some low valued codes remain unused so we can use them
  for pseudo directory cookies (for '.' and '..').

  newfs2_hammer is required on the test volume with this change.

* Implement hammer2_vop_readdir().
sbin/newfs_hammer2/newfs_hammer2.c
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_disk.h
sys/vfs/hammer2/hammer2_subr.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c