DragonFly commits List (threaded) for 2008-12
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
DragonFly-2.1.1.150.gdb9f9 master sys/vfs/hammer hammer_blockmap.c
commit db9f9d7f3e5ba4db32825e60e606a0e4a0a33083
Author: Matthew Dillon <dillon@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@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
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]