DragonFly-2.1.1.150.gdb9f9 master sys/vfs/hammer hammer_blockmap.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Dec 26 11:52:33 PST 2008
commit db9f9d7f3e5ba4db32825e60e606a0e4a0a33083
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Dec 26 11:45:42 2008 -0800
The blockmap layer1/2 CRCs were being checked without the blockmap lock
being held. It was possible for the check to occur while another thread
was blocked with the layer half-modified, resulting in an assertion but
NO on-media corruption.
Fix the issue in an optimal manner by rechecking the CRC with the blockmap
locked when the first check fails. Only assert if the second check fails.
Reported-by: Matthias Schmidt <matthias at crater.dragonflybsd.org>
Summary of changes:
sys/vfs/hammer/hammer_blockmap.c | 63 ++++++++++++++++++++++++++++++--------
1 files changed, 50 insertions(+), 13 deletions(-)
http://gitweb.dragonflybsd.org/?p=dragonfly.git;a=commitdiff;h=db9f9d7f3e5ba4db32825e60e606a0e4a0a33083
--
DragonFly BSD source repository
More information about the Commits
mailing list