git: hammer2 - update documentation, begin working on callback I/O
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Oct 30 14:23:46 PDT 2014
commit bca9f8e6ed7272bc4499f5499b6dc0104a039efa
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Oct 30 14:14:58 2014 -0700
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.
Summary of changes:
sys/vfs/hammer2/FREEMAP | 330 ++++++++++++++++++-----------
sys/vfs/hammer2/TODO | 3 -
sys/vfs/hammer2/hammer2.h | 92 ++++++---
sys/vfs/hammer2/hammer2_chain.c | 119 ++++-------
sys/vfs/hammer2/hammer2_cluster.c | 158 +++++++++++---
sys/vfs/hammer2/hammer2_freemap.c | 37 ++++
sys/vfs/hammer2/hammer2_inode.c | 64 +++---
sys/vfs/hammer2/hammer2_io.c | 424 +++++++++++++++++++++++++-------------
sys/vfs/hammer2/hammer2_ioctl.c | 62 +++---
sys/vfs/hammer2/hammer2_vfsops.c | 99 ++++-----
sys/vfs/hammer2/hammer2_vnops.c | 190 ++++++++++-------
11 files changed, 1001 insertions(+), 577 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bca9f8e6ed7272bc4499f5499b6dc0104a039efa
--
DragonFly BSD source repository
More information about the Commits
mailing list