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);