git: hammer2 hammer2 - more indirect block work, add advlock
dillon at crater.dragonflybsd.org
Mon Feb 27 21:28:08 PST 2012
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Feb 27 21:22:53 2012 -0800
hammer2 - more indirect block work, add advlock
* Fix several bugs in the indirect block code. Directories and files should
both now be able to expand properly. Except for an excessive dirty buffer
buildup (see 'bawrite' below), we can now create regular files linearly
and create sub-directory trees. e.g. cpdup is starting to show results.
* Fix an issue with readdir related to how ranged searches work (results
can be returned in any order within the range). Do a direct lookup of
the key before resorting to a range. Until we sort the keys this is not
going to work correctly in the face of concurrent deletions.
* Try conditionalizing bawrite() vs bdwrite() in the flush code, but there
are still major issues when NFS is used to back a VN device for testing
which can deadlock the system.
* Remove or conditionalize a bunch of debugging kprintfs.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 4 ++
sys/vfs/hammer2/hammer2_chain.c | 95 ++++++++++++++++++++++++-------------
sys/vfs/hammer2/hammer2_freemap.c | 5 ++-
sys/vfs/hammer2/hammer2_inode.c | 9 ++--
sys/vfs/hammer2/hammer2_vfsops.c | 8 +++
sys/vfs/hammer2/hammer2_vnops.c | 31 ++++++++++--
6 files changed, 109 insertions(+), 43 deletions(-)
DragonFly BSD source repository
More information about the Commits