git: hammer2 hammer2 - file truncate and extend

Matthew Dillon dillon at
Tue Feb 28 02:01:15 PST 2012

commit 3ac6a3194873d1bf4c6d951e2ffbb9ba54539a67
Author: Matthew Dillon <dillon at>
Date:   Tue Feb 28 01:58:05 2012 -0800

    hammer2 - file truncate and extend
    * Implement file truncation and extension.  Remember that all partial block
      modifications (during truncation) have to roll a new block, so we use
      the chain_modify and related functions to handle it.
    * Implement inode-embedded direct data (up to 512 bytes)
    * Add support for the embedded feature in the chain_lookup/chain_next
      code and also fix a couple of bugs.
    * Implement deletion flagging for chain structures (used for truncation and
      will eventually be used for unlink).
    * Initial implementation of setattr (for truncation support).

Summary of changes:
 sys/vfs/hammer2/hammer2.h       |    2 +-
 sys/vfs/hammer2/hammer2_chain.c |   89 ++++++++++--
 sys/vfs/hammer2/hammer2_inode.c |   10 ++
 sys/vfs/hammer2/hammer2_vnops.c |  319 ++++++++++++++++++++++++++++++++++++---
 4 files changed, 390 insertions(+), 30 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list