git: hammer2 hammer2 - hardlink stabilization (3), data and inode count propagation.
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu May 17 18:46:02 PDT 2012
commit 28ee5f14407fca9773ee7e53aa44bac278cac900
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu May 17 18:41:51 2012 -0700
hammer2 - hardlink stabilization (3), data and inode count propagation.
* Files with cached chains have to be flushed before they can be copied
to the hardlink target, because the original inode will become a
OBJTYPE_HARDLINK pointer which isn't allowed to have any sub-chains
under the inode.
* We also need to flush for the upcoming snapshot function to work properly
or dirty in-memory data will not show up in the snapshot.
* Propagate the inode and byte use count up the chain. Tie the inode count
into df's inode count (per-PFS). The byte count and quota fields are not
yet tied in.
* Adjust stat[v]fs() to return filesystem space useage using the allocation
iterator for now, to aid debugging.
* Adjust the allocation iterator to skip reserved areas at the beginning of
each 2GB storage zone.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 15 +++++-
sys/vfs/hammer2/hammer2_chain.c | 94 ++++++++++++++++++++++++++++++-------
sys/vfs/hammer2/hammer2_freemap.c | 6 ++
sys/vfs/hammer2/hammer2_inode.c | 31 +++++++++++-
sys/vfs/hammer2/hammer2_vfsops.c | 26 +++++++++--
sys/vfs/hammer2/hammer2_vnops.c | 13 ++++-
6 files changed, 157 insertions(+), 28 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/28ee5f14407fca9773ee7e53aa44bac278cac900
--
DragonFly BSD source repository
More information about the Commits
mailing list