git: hammer2 - stabilization
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Dec 4 10:02:37 PST 2013
commit 1fca819ab6079b092d1495bc78725ff8739bcfe2
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Dec 4 09:44:59 2013 -0800
hammer2 - stabilization
* Fix the hammer2_chain_assert_not_present() call in hammer2_chain_insert()
to avoid SMP races that could cause it to trigger falsely. Also fix a
case where inserting a deleted chain was improperly calling it.
* Fix bugs in hammer2_combined_find(). It is possible for a deleted
chain from a prior synchronization point to cover a matching media
blockref from a later synchronization point. When both a media block
and an in-memory chain are found, do not just blindly choose the
in-memory chain. Choose based on the synchronization points.
* Refactor part of the hardlink code. Do not create a dummy chain
to place-hold the target when a hardlink has to be shifted up to
a parent directory. Allow hammer2_chain_duplicate() to do it.
Summary of changes:
sbin/hammer2/cmd_debug.c | 15 +++++++---
sys/vfs/hammer2/hammer2_chain.c | 58 +++++++++++++++++++++++++++------------
sys/vfs/hammer2/hammer2_freemap.c | 15 +++++++---
sys/vfs/hammer2/hammer2_inode.c | 8 ++++++
sys/vfs/hammer2/hammer2_vnops.c | 7 +++++
5 files changed, 78 insertions(+), 25 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1fca819ab6079b092d1495bc78725ff8739bcfe2
--
DragonFly BSD source repository
More information about the Commits
mailing list