Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6: [MTD] NAND: Select chip before checking write protect status [MTD] CORE mtdchar.c: fix off-by-one error in lseek() [MTD] NAND: Fix typo in mtd/nand/ts7250.c [JFFS2][XATTR] coexistence between xattr and write buffering support. [JFFS2][XATTR] Fix wrong copyright [JFFS2][XATTR] Re-define xd->refcnt as atomic_t [JFFS2][XATTR] Fix memory leak with jffs2_xattr_ref [JFFS2][XATTR] rid unnecessary writing of delete marker. [JFFS2][XATTR] Fix ACL bug when updating null xattr by null ACL. [JFFS2][XATTR] using 'delete marker' for xdatum/xref deletion [MTD] Fix off-by-one error in physmap.c [MTD] Remove unused 'nr_banks' variable from ixp2000 map driver [MTD NAND] s3c2412 support in s3c2410.c [MTD] Initialize 'writesize' [MTD] NAND: ndfc fix address offset thinko [MTD] NAND: S3C2410 convert prinks to dev_*()s [MTD] NAND: Missing fixups
This commit is contained in:
@ -225,7 +225,6 @@ static inline void jffs2_remove_node_refs_from_ino_list(struct jffs2_sb_info *c,
|
||||
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;
|
||||
}
|
||||
@ -249,7 +248,8 @@ static inline void jffs2_remove_node_refs_from_ino_list(struct jffs2_sb_info *c,
|
||||
|
||||
/* PARANOIA */
|
||||
if (!ic) {
|
||||
printk(KERN_WARNING "inode_cache not found in remove_node_refs()!!\n");
|
||||
JFFS2_WARNING("inode_cache/xattr_datum/xattr_ref"
|
||||
" not found in remove_node_refs()!!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -274,8 +274,19 @@ static inline void jffs2_remove_node_refs_from_ino_list(struct jffs2_sb_info *c,
|
||||
printk("\n");
|
||||
});
|
||||
|
||||
if (ic->nodes == (void *)ic && ic->nlink == 0)
|
||||
jffs2_del_ino_cache(c, ic);
|
||||
switch (ic->class) {
|
||||
#ifdef CONFIG_JFFS2_FS_XATTR
|
||||
case RAWNODE_CLASS_XATTR_DATUM:
|
||||
jffs2_release_xattr_datum(c, (struct jffs2_xattr_datum *)ic);
|
||||
break;
|
||||
case RAWNODE_CLASS_XATTR_REF:
|
||||
jffs2_release_xattr_ref(c, (struct jffs2_xattr_ref *)ic);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
if (ic->nodes == (void *)ic && ic->nlink == 0)
|
||||
jffs2_del_ino_cache(c, ic);
|
||||
}
|
||||
}
|
||||
|
||||
void jffs2_free_jeb_node_refs(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb)
|
||||
|
Reference in New Issue
Block a user