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

git: HAMMER VFS - Fix degenerate stall condition in flusher during unmount


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 11 Apr 2011 10:20:06 -0700 (PDT)

commit e86903d84f840af38d1b452a6a6c624702373751
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Mon Apr 11 10:07:37 2011 -0700

    HAMMER VFS - Fix degenerate stall condition in flusher during unmount
    
    * Fix a case where the flusher can stall during an unmount.
    
    * Rework the flusher sequence numbers to always allocate a sequence number
      when a flush is requested, remove the flusher.act field, and rejigger the
      code a bit.
    
    * This also cleans up an edge case when a full sync is inserted (when taking
      snapshots, filesystem sync, etc), by inserting several sequence numbers to
      completely flush the UNDO/REDO FIFO before moving on to the next active
      flush group.
    
    Reported-by: Sepherosa Ziehau <sepherosa@gmail.com>, Francois Tigeot <ftigeot@wolfpond.org>, numerous others.

Summary of changes:
 sys/vfs/hammer/hammer.h           |    3 +-
 sys/vfs/hammer/hammer_flusher.c   |  115 +++++++++++++++++++++----------------
 sys/vfs/hammer/hammer_mirror.c    |    2 +-
 sys/vfs/hammer/hammer_pfs.c       |    2 +-
 sys/vfs/hammer/hammer_prune.c     |    2 +-
 sys/vfs/hammer/hammer_rebalance.c |    2 +-
 sys/vfs/hammer/hammer_reblock.c   |    2 +-
 7 files changed, 71 insertions(+), 57 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e86903d84f840af38d1b452a6a6c624702373751


-- 
DragonFly BSD source repository



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