commit f96881ff3fe0148e6fb07645eedced10b05a1769
Author: Matthew Dillon <[email protected]>
Date: Tue Apr 7 16:03:24 2009 -0700
HAMMER VFS - Fix edge case in mirroring code.
There is an edge case where a record is physically destroyed on the master
and a mirroring or mirror-streaming operation attempts to delete the record
on the slave using a mirror-end TID that in fact matches the create_tid of
the record. This results in a protective panic.
Fix the problem simply by not deleting such edge-case records. They will
be deleted in the next pass, since in order to have been destroyed on the
master the master must have done the operation with a larger TID then
the create_tid of the record that was destroyed.
Reported-by: Brad Frank <[email protected]>
Summary of changes:
sys/vfs/hammer/hammer_mirror.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f96881ff3fe0148e6fb07645eedced10b05a1769
--
DragonFly BSD source repository