看板 DFBSD_commit 關於我們 聯絡資訊
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