git: hammer2 - freemap part 1 - initial block allocator and media support
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri May 17 14:55:25 PDT 2013
commit 1a7cfe5ae3c897f704a358fd3e556a55e430dcb1
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri May 17 14:48:59 2013 -0700
hammer2 - freemap part 1 - initial block allocator and media support
* Freemap document (FREEMAP in this directory)
* temporarily turn off clustering until the freemap gets that capability
(mixed buffer sizes can be adjacent atm).
* Remove the freemap_blockref[1] from the volume header and replace it
with a blockset array (8 blockrefs).
* Implement dynamic creation of freemap nodes and leafs on an as-needed
basis using the normal indirect block creation code. Most of the standard
file handling code is reused for the freemap support.
* Major cleanup of hammer2_chain.c, the duplication code, the indirect
block creation and handling, and the chain->flag handling.
Summary of changes:
sys/vfs/hammer2/DESIGN | 68 ++-
sys/vfs/hammer2/FREEMAP | 141 +++++
sys/vfs/hammer2/TODO | 10 +
sys/vfs/hammer2/hammer2.h | 49 +-
sys/vfs/hammer2/hammer2_chain.c | 1177 +++++++++++++++++++++----------------
sys/vfs/hammer2/hammer2_disk.h | 210 +++----
sys/vfs/hammer2/hammer2_flush.c | 59 +-
sys/vfs/hammer2/hammer2_freemap.c | 557 +++++++++++++++++-
sys/vfs/hammer2/hammer2_inode.c | 5 +-
sys/vfs/hammer2/hammer2_ioctl.c | 6 +-
sys/vfs/hammer2/hammer2_subr.c | 31 +-
sys/vfs/hammer2/hammer2_vfsops.c | 53 +-
sys/vfs/hammer2/hammer2_vnops.c | 31 +-
13 files changed, 1660 insertions(+), 737 deletions(-)
create mode 100644 sys/vfs/hammer2/FREEMAP
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1a7cfe5ae3c897f704a358fd3e556a55e430dcb1
--
DragonFly BSD source repository
More information about the Commits
mailing list