JFFS2 eats memory
David Woodhouse
dwmw2 at infradead.org
Wed Jul 21 07:51:43 EDT 2004
On Wed, 2004-07-21 at 08:25 +0200, Øyvind Harboe wrote:
> in gc.c:
> - 241 if (!raw->next_in_ino) {
> - 251 ic = jffs2_raw_ref_to_ic(raw);
Hmmm. Surely you shouldn't be able to get to those in the case where
gc_node is NULL? You should hit the condition at line 218 because
jeb->user_size should be zero.
Remember, gc_node is the placemarker for the garbage-collector which is
busily obsoleting every node in this block so that the block can be
erased and returned to the free pool. If you were freeing a node, and
there was no 'next' node when you did so, that must have meant you got
to the end of the eraseblock, surely?
Obviously I'm wrong -- you have empirical evidence. But why?
PS. Will somebody please kick Beat Morf <beat.morf at duagon.ch> off the
eCos list? He has an extremely broken autoresponder -- it's replying to
the From: address in the mail instead of the SMTP reverse-path, it's
replying with non-error message status so that it can cause mail loops,
and it's not even rate-limited. I get a response for every mail I send.
--
dwmw2
More information about the linux-mtd
mailing list