Oops vanilla 2.6.10

Artem B. Bityuckiy dedekind at infradead.org
Wed Feb 16 10:28:37 EST 2005


Estelle HAMMACHE wrote:
> This would explain things... if you think it is plausible you could
> try commenting out the node merging in jffs2_mark_node_obsolete.
> 
I think Estelle is correct.
I would offer the following fix:

--- build.c     2005-02-16 18:21:41.253701801 +0300
+++ build.c-modified    2005-02-16 18:27:56.451612461 +0300
@@ -194,8 +194,10 @@
        D1(printk(KERN_DEBUG "JFFS2: Removing ino #%u with nlink == 
zero.\n", ic->ino));

        raw = ic->nodes;
-       while (raw != (void *)ic) {
+       while (raw && raw != (void *)ic) {
                struct jffs2_raw_node_ref *next = raw->next_in_ino;
+               while(next && ref_obsolete(next))
+                       next = next->next_in_ino;
                D1(printk(KERN_DEBUG "obsoleting node at 0x%08x\n", 
ref_offset(raw)));
                jffs2_mark_node_obsolete(c, raw);
                raw = next;

--
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.




More information about the linux-mtd mailing list