[issue1129] hammer-inodes: malloc limit exceeded

Matthew Dillon dillon at apollo.backplane.com
Sun Sep 21 10:50:18 PDT 2008


:The machine has been stable so far.
:
:I just noticed these unusual messages in the logs today:
:
:Sep 21 09:04:29 akane kernel: HAMMER: Warning: UNDO area too small!
:Sep 21 09:05:00 akane kernel: HAMMER: Warning: UNDO area too small!
:Sep 21 09:06:11 akane kernel: HAMMER: Warning: UNDO area too small!
:
:The time corresponds to a rsnasphot hourly run.
:...
:Francois Tigeot

    How large is the filesystem your rsnapshot is writing to?

    HAMMER tries to estimate how much space dependancies take up in the
    UNDO FIFO and tries to split the work up into multiple flush cycles
    such that each flush cycle does not exhaust the UNDO space.

    The warning means that the HAMMER backend had to issue a flush cycle
    before it really wanted to, potentially causing some directory
    dependancies to get split between two flush cycles.  If a crash were
    to occur during those particular flush cycles the hard link count
    between file and directory entry could wind up being wrong.

    I think the problem may be caused by the hardlink trick you are using
    to duplicate directory trees.  HAMMER's estimator is probably not
    taking into account the tens of thousands of hardlinks (directory-to-file
    link count dependancies) and directory-to-directory dependancies from
    creating the target directory hierarchy that can build up when files are
    simply being linked.

    For now, keep watch on it.  The warning itself is not a big deal.
    If HAMMER panics on insufficient UNDO space, though, that's a
    different matter.

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>





More information about the Bugs mailing list