DragonFly-2.3.0.583.gf968 master sys/vfs/hammer hammer_mirror.c

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Apr 7 16:10:09 PDT 2009


commit f96881ff3fe0148e6fb07645eedced10b05a1769
Author: Matthew Dillon <dillon at apollo.backplane.com>
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 <brad.frank at gmail.com>

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





More information about the Commits mailing list