hammer2 - update documentation, begin working on callback I/O
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 30 Oct 2014 21:14:58 +0000 (14:14 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 30 Oct 2014 21:14:58 +0000 (14:14 -0700)
commitbca9f8e6ed7272bc4499f5499b6dc0104a039efa
treef96d923ea1231adc785e5e9c3fcef4d708c71691
parent85eb1ec4dffc4e36c7f6ad4e804780803ffeae85
hammer2 - update documentation, begin working on callback I/O

* Update documentation with my current thinking.

* Implement hammer2_iocb - a structure to govern async block I/O requests
  with a callback function.

* Implement iocb API.

* Replace old hammer2_chain_load_async() and related code with the new
  callback mechanism.

* Implemented a somewhat more sophisticated freemap DOMAYFREE setting,
  but note that we still do not iterate file data blocks when removing
  a file to adjust their freemap (and I may decide not to just in general,
  since the meta-data scan and freemap update can add considerable latency
  to a remove() operation).

  This means that the whole concept of partial block free states may wind
  up being thrown out the window, but as of now it's still the plan.
sys/vfs/hammer2/FREEMAP
sys/vfs/hammer2/TODO
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_cluster.c
sys/vfs/hammer2/hammer2_freemap.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_io.c
sys/vfs/hammer2/hammer2_ioctl.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c