DragonFly bugs List (threaded) for 2011-02
[
Date Prev][
Date Next]
[Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: [issue1984] hammer mount fails after crash - HAMMER: FIFO record bad head signature ..
:Thomas Nikolajsen <thomas.nikolajsen@mail.dk> added the comment:
:
:The file system is 20GB.
:
:I know this is rather small for a HAMMER FS.
:It is just a root file system, for a x86_64 setup,
:had to 'steal' from swap partition (still have 12GB for 8 GB mem)
:it is not full at all.
:Disklabel was already setup with i386 DragonFly system;
:btw setting up dual boot i386/x86_64 works out quite easily w/ dloader ;-)
:
:show-undo output is put on leaf:
:http://leaf.dragonflybsd.org/~thomas/issue1984
:
:Feb 9 21:58:32 octopus kernel: HAMMER: Warning: UNDO area too small!
:Feb 9 21:58:32 octopus kernel: HAMMER: Warning: UNDO area too small!
:..
:priority: -> bug
Ok, I'm fairly certain that it is an UNDO/REDO FIFO overflow due to
the mechanics of how HAMMER operates when this warning is active.
Right now when HAMMER is forced to do mini-flushes inside the main
flush due to the UNDO area being too small it still doesn't flush
the volume header until the more encompassing meta-flush is done.
I'm certain this is causing the FIFO to overflow and blowing up
the recovery code.
A 20GB HAMMER filesystem only reserves a 100MB UNDO/REDO FIFO. Even
a 200GB HAMMER filesystem only reserves a 232MB UNDO/REDO FIFO. The
real problem here is that the required size for the UNDO/REDO FIFO
is related more to the system's ram and buffer cache configuration
than to the filesystem size. I think I'm going to have to change
newfs_hammer to create a minimum 500MB UNDO/REDO FIFO.
I will also have to change the flush mechanics to avoid the mini-flushes
in the first place.
-Matt
Matthew Dillon
<dillon@backplane.com>
[
Date Prev][
Date Next]
[Thread Prev][
Thread Next]
[
Date Index][
Thread Index]