HAMMER 45/Many: Stabilization pass, undo sequencing.
authorMatthew Dillon <dillon@dragonflybsd.org>
Thu, 15 May 2008 03:36:40 +0000 (03:36 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Thu, 15 May 2008 03:36:40 +0000 (03:36 +0000)
commit09ac686b997c174abdd1561c4319954b6575edae
tree0f5798c2866e496df03fb5722858ea1ad199a60b
parent0cd134ab6fa867a6da098553a570d2e594bef5c3
HAMMER 45/Many: Stabilization pass, undo sequencing.

* The flusher was improperly requesting a reflush on buffers.  The flush
  request was being defered for any buffers with active front-end references
  and then wound up being flushed by the front-end, breaking ordering
  requirements.

  Remove the reflush flag entirely.  This fixes numerous crash recovery
  cases.

* Add a missing unlock in the reblocking ioctl code which was responsible
  for a number of process lockups.

* Enhance the undo recovery kprintf.

* Validate the CRC in UNDO records
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_flusher.c
sys/vfs/hammer/hammer_io.c
sys/vfs/hammer/hammer_ondisk.c
sys/vfs/hammer/hammer_reblock.c
sys/vfs/hammer/hammer_recover.c
sys/vfs/hammer/hammer_undo.c