DragonFly BSD
DragonFly commits List (threaded) for 2012-05
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: hammer2 hammer2 - Flush ordering fixes


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 18 May 2012 19:29:07 -0700 (PDT)

commit 90ea1e359ba3186ea419ac0476b1091979c858f0
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Fri May 18 19:18:14 2012 -0700

    hammer2 - Flush ordering fixes
    
    * The flush code is required to write out modified chains, not just bdwrite()
      them.  Otherwise the disk synchronization and volume header write will be
      mis-ordered.
    
    * Don't re-write indirect blocks that the OS had already written out.  This
      check is already being made for data blocks, and inode modifications are
      embedded and thus must always be written out.
    
    * This fixes issues where 'hammer2 show <device>' would find corrupt
      topology during concurrent filesystem write activity.  The disk media
      is always supposed to be consistent.
    
      We don't care about block-reuse cases for this debug command but we do
      care that, sans block-reuse, a dump will produce a consistent topology.

Summary of changes:
 sys/vfs/hammer2/hammer2_chain.c |   38 ++++++++++++++++++++++++++++++++------
 1 files changed, 32 insertions(+), 6 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/90ea1e359ba3186ea419ac0476b1091979c858f0


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]