[JFFS2] Add some preemptive BUG checks for XATTR code

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Mon May 22 11:59:02 EDT 2006


Commit:     0eac940b8a087576c66ecf8e0f294f2ceb3b607b
Parent:     fcb7578719529898aef9edce8e409e457a1c2d15
Author:     David Woodhouse <dwmw2 at infradead.org>
AuthorDate: Mon May 22 16:29:23 2006 +0100
Commit:     David Woodhouse <dwmw2 at infradead.org>
CommitDate: Mon May 22 16:29:23 2006 +0100

    [JFFS2] Add some preemptive BUG checks for XATTR code
    
    In a couple of places, we assume that what's at the end of the
    ->next_in_ino list is a struct jffs2_inode_cache. Let's check
    for that, since we expect it to change soon.
    
    Signed-off-by: David Woodhouse <dwmw2 at infradead.org>

 fs/jffs2/erase.c    |    1 +
 fs/jffs2/nodemgmt.c |    4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/fs/jffs2/erase.c b/fs/jffs2/erase.c
index 0fc19a2..4616fed 100644
--- a/fs/jffs2/erase.c
+++ b/fs/jffs2/erase.c
@@ -230,6 +230,7 @@ static inline void jffs2_remove_node_ref
 			   at the end of the linked list. Stash it and continue
 			   from the beginning of the list */
 			ic = (struct jffs2_inode_cache *)(*prev);
+			BUG_ON(ic->class != RAWNODE_CLASS_INODE_CACHE);
 			prev = &ic->nodes;
 			continue;
 		}
diff --git a/fs/jffs2/nodemgmt.c b/fs/jffs2/nodemgmt.c
index e10e58e..34a452b 100644
--- a/fs/jffs2/nodemgmt.c
+++ b/fs/jffs2/nodemgmt.c
@@ -661,6 +661,10 @@ void jffs2_mark_node_obsolete(struct jff
 		spin_lock(&c->erase_completion_lock);
 
 		ic = jffs2_raw_ref_to_ic(ref);
+		/* It seems we should never call jffs2_mark_node_obsolete() for
+		   XATTR nodes.... yet. Make sure we notice if/when we change
+		   that :) */
+		BUG_ON(ic->class != RAWNODE_CLASS_INODE_CACHE);
 		for (p = &ic->nodes; (*p) != ref; p = &((*p)->next_in_ino))
 			;
 



More information about the linux-mtd-cvs mailing list