[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