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