git: hammer2 hammer2 - core file read and write paths
dillon at crater.dragonflybsd.org
Thu Feb 16 22:26:46 PST 2012
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Feb 16 22:22:37 2012 -0800
hammer2 - core file read and write paths
* Get the core file create, read, and write paths working and tested for
up to 8 blocks (we still don't have indirect blocks yet).
* Add a flags field to the hammer2_chain_lookup() and hammer2_chain_next()
to retrieve the element with a ref but without a lock, avoiding any I/O
(used to obtain the physical block address in the strategy_read code).
* Fix bugs in previously untested code paths related to reading and writing.
Fixed a double allocation, improper handling of a degenerate case when
creating a new record, missing b[q]relse()'s or bdwrite()'s, etc.
* Fix a ripout in the hammer2_chain_flush()'s SPLAY_FOREACH() loop that
led to a crash.
* Add hammer2_vop_close()
* Add hammer2_vop_ncreate()
Summary of changes:
sys/vfs/hammer2/hammer2.h | 16 ++++-
sys/vfs/hammer2/hammer2_chain.c | 82 ++++++++++++++++----------
sys/vfs/hammer2/hammer2_freemap.c | 31 ++++++----
sys/vfs/hammer2/hammer2_inode.c | 2 +-
sys/vfs/hammer2/hammer2_vfsops.c | 8 ++-
sys/vfs/hammer2/hammer2_vnops.c | 120 ++++++++++++++++++++++++++++--------
6 files changed, 183 insertions(+), 76 deletions(-)
DragonFly BSD source repository
More information about the Commits