git: hammer2 - bigger stabilization & performance pass
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Dec 13 23:28:30 PST 2012
commit 3fc4c63df3c20dc74269c4bf2e4168ac119384a3
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Dec 13 23:23:21 2012 -0800
hammer2 - bigger stabilization & performance pass
* Fix additional namecache bogons that could result in a crash.
* Fix volume header synchronization. It was possible for the voldata
structure to be modified after its crc had been calculated but before
its write. A mount after a crash would then refuse to use the volume
header.
* Each flush now iterates available volume header backups instead of
just writing to block 0. (The mount code selects the most recent
valid volume header from available backups. There is nothing special
about the volume header in block 0).
* Fix volume header flush staging, the fsync of the device buffers
was not ensuring a complete flush before synchronizing the volume
header.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 2 +
sys/vfs/hammer2/hammer2_chain.c | 53 +++++++++++++++-----------------------
sys/vfs/hammer2/hammer2_inode.c | 8 +++++
sys/vfs/hammer2/hammer2_vfsops.c | 42 +++++++++++++++++++++++-------
sys/vfs/hammer2/hammer2_vnops.c | 4 +-
5 files changed, 65 insertions(+), 44 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3fc4c63df3c20dc74269c4bf2e4168ac119384a3
--
DragonFly BSD source repository
More information about the Commits
mailing list