newfrag           122 fs/jffs2/nodelist.c static void jffs2_fragtree_insert(struct jffs2_node_frag *newfrag, struct jffs2_node_frag *base)
newfrag           127 fs/jffs2/nodelist.c 	dbg_fragtree2("insert frag (0x%04x-0x%04x)\n", newfrag->ofs, newfrag->ofs + newfrag->size);
newfrag           133 fs/jffs2/nodelist.c 		if (newfrag->ofs > base->ofs)
newfrag           135 fs/jffs2/nodelist.c 		else if (newfrag->ofs < base->ofs)
newfrag           138 fs/jffs2/nodelist.c 			JFFS2_ERROR("duplicate frag at %08x (%p,%p)\n", newfrag->ofs, newfrag, base);
newfrag           143 fs/jffs2/nodelist.c 	rb_link_node(&newfrag->rb, &base->rb, link);
newfrag           151 fs/jffs2/nodelist.c 	struct jffs2_node_frag *newfrag;
newfrag           153 fs/jffs2/nodelist.c 	newfrag = jffs2_alloc_node_frag();
newfrag           154 fs/jffs2/nodelist.c 	if (likely(newfrag)) {
newfrag           155 fs/jffs2/nodelist.c 		newfrag->ofs = ofs;
newfrag           156 fs/jffs2/nodelist.c 		newfrag->size = size;
newfrag           157 fs/jffs2/nodelist.c 		newfrag->node = fn;
newfrag           162 fs/jffs2/nodelist.c 	return newfrag;
newfrag           170 fs/jffs2/nodelist.c 		 	       struct jffs2_node_frag *newfrag,
newfrag           173 fs/jffs2/nodelist.c 	if (lastend < newfrag->node->ofs) {
newfrag           177 fs/jffs2/nodelist.c 		holefrag= new_fragment(NULL, lastend, newfrag->node->ofs - lastend);
newfrag           179 fs/jffs2/nodelist.c 			jffs2_free_node_frag(newfrag);
newfrag           204 fs/jffs2/nodelist.c 		rb_link_node(&newfrag->rb, &this->rb, &this->rb.rb_right);
newfrag           207 fs/jffs2/nodelist.c 		rb_link_node(&newfrag->rb, NULL, &root->rb_node);
newfrag           209 fs/jffs2/nodelist.c 	rb_insert_color(&newfrag->rb, root);
newfrag           215 fs/jffs2/nodelist.c static int jffs2_add_frag_to_fragtree(struct jffs2_sb_info *c, struct rb_root *root, struct jffs2_node_frag *newfrag)
newfrag           221 fs/jffs2/nodelist.c 	this = jffs2_lookup_node_frag(root, newfrag->node->ofs);
newfrag           233 fs/jffs2/nodelist.c 	if (lastend <= newfrag->ofs) {
newfrag           240 fs/jffs2/nodelist.c 		if (lastend && (lastend-1) >> PAGE_SHIFT == newfrag->ofs >> PAGE_SHIFT) {
newfrag           243 fs/jffs2/nodelist.c 			mark_ref_normal(newfrag->node->raw);
newfrag           246 fs/jffs2/nodelist.c 		return no_overlapping_node(c, root, newfrag, this, lastend);
newfrag           260 fs/jffs2/nodelist.c 	if (newfrag->ofs > this->ofs) {
newfrag           265 fs/jffs2/nodelist.c 		mark_ref_normal(newfrag->node->raw);
newfrag           269 fs/jffs2/nodelist.c 		if (this->ofs + this->size > newfrag->ofs + newfrag->size) {
newfrag           281 fs/jffs2/nodelist.c 			newfrag2 = new_fragment(this->node, newfrag->ofs + newfrag->size,
newfrag           282 fs/jffs2/nodelist.c 						this->ofs + this->size - newfrag->ofs - newfrag->size);
newfrag           289 fs/jffs2/nodelist.c 			this->size = newfrag->ofs - this->ofs;
newfrag           297 fs/jffs2/nodelist.c 			jffs2_fragtree_insert(newfrag, this);
newfrag           298 fs/jffs2/nodelist.c 			rb_insert_color(&newfrag->rb, root);
newfrag           300 fs/jffs2/nodelist.c 			jffs2_fragtree_insert(newfrag2, newfrag);
newfrag           306 fs/jffs2/nodelist.c 		this->size = newfrag->ofs - this->ofs;
newfrag           309 fs/jffs2/nodelist.c 		jffs2_fragtree_insert(newfrag, this);
newfrag           310 fs/jffs2/nodelist.c 		rb_insert_color(&newfrag->rb, root);
newfrag           315 fs/jffs2/nodelist.c 			  newfrag, newfrag->ofs, newfrag->ofs+newfrag->size, this, this->ofs, this->ofs+this->size);
newfrag           317 fs/jffs2/nodelist.c 		rb_replace_node(&this->rb, &newfrag->rb, root);
newfrag           319 fs/jffs2/nodelist.c 		if (newfrag->ofs + newfrag->size >= this->ofs+this->size) {
newfrag           323 fs/jffs2/nodelist.c 			this->ofs += newfrag->size;
newfrag           324 fs/jffs2/nodelist.c 			this->size -= newfrag->size;
newfrag           326 fs/jffs2/nodelist.c 			jffs2_fragtree_insert(this, newfrag);
newfrag           334 fs/jffs2/nodelist.c 	while ((this = frag_next(newfrag)) && newfrag->ofs + newfrag->size >= this->ofs + this->size) {
newfrag           344 fs/jffs2/nodelist.c 	if (!this || newfrag->ofs + newfrag->size == this->ofs)
newfrag           348 fs/jffs2/nodelist.c 	this->size = (this->ofs + this->size) - (newfrag->ofs + newfrag->size);
newfrag           349 fs/jffs2/nodelist.c 	this->ofs = newfrag->ofs + newfrag->size;
newfrag           354 fs/jffs2/nodelist.c 	mark_ref_normal(newfrag->node->raw);
newfrag           366 fs/jffs2/nodelist.c 	struct jffs2_node_frag *newfrag;
newfrag           371 fs/jffs2/nodelist.c 	newfrag = new_fragment(fn, fn->ofs, fn->size);
newfrag           372 fs/jffs2/nodelist.c 	if (unlikely(!newfrag))
newfrag           374 fs/jffs2/nodelist.c 	newfrag->node->frags = 1;
newfrag           377 fs/jffs2/nodelist.c 		  fn->ofs, fn->ofs+fn->size, ref_offset(fn->raw), newfrag);
newfrag           379 fs/jffs2/nodelist.c 	ret = jffs2_add_frag_to_fragtree(c, &f->fragtree, newfrag);
newfrag           385 fs/jffs2/nodelist.c 	if (newfrag->ofs & (PAGE_SIZE-1)) {
newfrag           386 fs/jffs2/nodelist.c 		struct jffs2_node_frag *prev = frag_prev(newfrag);
newfrag           394 fs/jffs2/nodelist.c 	if ((newfrag->ofs+newfrag->size) & (PAGE_SIZE-1)) {
newfrag           395 fs/jffs2/nodelist.c 		struct jffs2_node_frag *next = frag_next(newfrag);