JFFS2_DBG_FRAGTREE2("insert fragment %#04x-%#04x and overwrite hole\n", 
dbg_fragtree2("insert fragment %#04x-%#04x and overwrite hole\n", 
static int split_hole(struct jffs2_sb_info *c, struct rb_root *root,		      struct jffs2_node_frag *newfrag, struct jffs2_node_frag *hole){	JFFS2_DBG_FRAGTREE2("fragment %#04x-%#04x splits the hole %#04x-%#04x\n",		newfrag->ofs, newfrag->ofs + newfrag->size, hole->ofs, hole->ofs + hole->size);	if (hole->ofs == newfrag->ofs) {		/* 		 * Well, the new fragment actually starts at the same offset as		 * the hole.		 */		if (hole->ofs + hole->size > newfrag->ofs + newfrag->size) {			/* 			 * We replace the overlapped left part of the hole by			 * the new node.			 */						JFFS2_DBG_FRAGTREE2("insert fragment %#04x-%#04x and cut the left part of the hole\n",				newfrag->ofs, newfrag->ofs + newfrag->size);			rb_replace_node(&hole->rb, &newfrag->rb, root);						hole->ofs += newfrag->size;			hole->size -= newfrag->size;						/* 			 * We know that 'hole' should be the right hand			 * fragment.			 */			jffs2_fragtree_insert(hole, newfrag);			rb_insert_color(&hole->rb, root);		} else {			/* 			 * Ah, the new fragment is of the same size as the hole.			 * Relace the hole by it.			 */			JFFS2_DBG_FRAGTREE2("insert fragment %#04x-%#04x and overwrite hole\n",				newfrag->ofs, newfrag->ofs + newfrag->size);			rb_replace_node(&hole->rb, &newfrag->rb, root);			jffs2_free_node_frag(hole);		}	} else {		/* The new fragment lefts some hole space at the left */				struct jffs2_node_frag * newfrag2 = NULL;		if (hole->ofs + hole->size > newfrag->ofs + newfrag->size) {			/* The new frag also lefts some space at the right */			newfrag2 = new_fragment(NULL, newfrag->ofs +				newfrag->size, hole->ofs + hole->size				- newfrag->ofs - newfrag->size);			if (unlikely(!newfrag2)) {				jffs2_free_node_frag(newfrag);				return -ENOMEM;			}		}		hole->size = newfrag->ofs - hole->ofs;		JFFS2_DBG_FRAGTREE2("left the hole %#04x-%#04x at the left and inserd fragment %#04x-%#04x\n",			hole->ofs, hole->ofs + hole->size, newfrag->ofs, newfrag->ofs + newfrag->size);		jffs2_fragtree_insert(newfrag, hole);		rb_insert_color(&newfrag->rb, root);				if (newfrag2) {			JFFS2_DBG_FRAGTREE2("left the hole %#04x-%#04x at the right\n",				newfrag2->ofs, newfrag2->ofs + newfrag2->size);			jffs2_fragtree_insert(newfrag2, newfrag);			rb_insert_color(&newfrag2->rb, root);		}	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/733802d974e5af42acb7cd61b16c0ce6dd03b7ed/nodelist.c/clean/fs/jffs2/nodelist.c