DragonFly commits List (threaded) for 2011-04
git: HAMMER VFS - Fix degenerate stall condition in flusher during unmount
Author: Matthew Dillon <firstname.lastname@example.org>
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
Reported-by: Sepherosa Ziehau <email@example.com>, Francois Tigeot <firstname.lastname@example.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(-)
DragonFly BSD source repository