Lines Matching refs:ofs

65 	/* We know frag->ofs <= size. That's what lookup does for us */
66 if (frag && frag->ofs != size) {
67 if (frag->ofs+frag->size > size) {
68 frag->size = size - frag->ofs;
72 while (frag && frag->ofs >= size) {
88 if (frag->ofs + frag->size < size)
89 return frag->ofs + frag->size;
93 if (frag->node && (frag->ofs & (PAGE_SIZE - 1)) == 0) {
95 frag->ofs, frag->ofs + frag->size);
109 ref_offset(this->node->raw), this->node->ofs, this->node->ofs+this->node->size);
114 ref_offset(this->node->raw), this->node->ofs, this->node->ofs+this->node->size, this->node->frags);
127 dbg_fragtree2("insert frag (0x%04x-0x%04x)\n", newfrag->ofs, newfrag->ofs + newfrag->size);
133 if (newfrag->ofs > base->ofs)
135 else if (newfrag->ofs < base->ofs)
138 JFFS2_ERROR("duplicate frag at %08x (%p,%p)\n", newfrag->ofs, newfrag, base);
149 static struct jffs2_node_frag * new_fragment(struct jffs2_full_dnode *fn, uint32_t ofs, uint32_t size)
155 newfrag->ofs = ofs;
173 if (lastend < newfrag->node->ofs) {
177 holefrag= new_fragment(NULL, lastend, newfrag->node->ofs - lastend);
188 holefrag->ofs, holefrag->ofs + holefrag->size);
192 holefrag->ofs, holefrag->ofs + holefrag->size);
221 this = jffs2_lookup_node_frag(root, newfrag->node->ofs);
225 this->ofs, this->ofs+this->size, this->node?(ref_offset(this->node->raw)):0xffffffff, this);
226 lastend = this->ofs + this->size;
233 if (lastend <= newfrag->ofs) {
240 if (lastend && (lastend-1) >> PAGE_SHIFT == newfrag->ofs >> PAGE_SHIFT) {
251 this->ofs, this->ofs + this->size,
255 this->ofs, this->ofs + this->size);
257 /* OK. 'this' is pointing at the first frag that newfrag->ofs at least partially obsoletes,
258 * - i.e. newfrag->ofs < this->ofs+this->size && newfrag->ofs >= this->ofs
260 if (newfrag->ofs > this->ofs) {
269 if (this->ofs + this->size > newfrag->ofs + newfrag->size) {
275 this->ofs, this->ofs+this->size, ref_offset(this->node->raw));
278 this->ofs, this->ofs+this->size);
281 newfrag2 = new_fragment(this->node, newfrag->ofs + newfrag->size,
282 this->ofs + this->size - newfrag->ofs - newfrag->size);
289 this->size = newfrag->ofs - this->ofs;
292 greater than this->ofs but smaller than
293 newfrag2->ofs or newfrag->ofs, for obvious
306 this->size = newfrag->ofs - this->ofs;
315 newfrag, newfrag->ofs, newfrag->ofs+newfrag->size, this, this->ofs, this->ofs+this->size);
319 if (newfrag->ofs + newfrag->size >= this->ofs+this->size) {
320 dbg_fragtree2("obsoleting node frag %p (%x-%x)\n", this, this->ofs, this->ofs+this->size);
323 this->ofs += newfrag->size;
334 while ((this = frag_next(newfrag)) && newfrag->ofs + newfrag->size >= this->ofs + this->size) {
337 this, this->ofs, this->ofs+this->size);
344 if (!this || newfrag->ofs + newfrag->size == this->ofs)
348 this->size = (this->ofs + this->size) - (newfrag->ofs + newfrag->size);
349 this->ofs = newfrag->ofs + newfrag->size;
371 newfrag = new_fragment(fn, fn->ofs, fn->size);
377 fn->ofs, fn->ofs+fn->size, ref_offset(fn->raw), newfrag);
385 if (newfrag->ofs & (PAGE_SIZE-1)) {
394 if ((newfrag->ofs+newfrag->size) & (PAGE_SIZE-1)) {
539 if (frag->ofs + frag->size <= offset) {
541 if (!prev || frag->ofs > prev->ofs)
544 } else if (frag->ofs > offset) {
556 prev->ofs, prev->ofs+prev->size);
587 uint32_t ofs, uint32_t len,
608 ref->flash_offset, ofs, ref->next_in_ino, len);
610 ref->flash_offset = ofs;
682 uint32_t ofs = jeb->offset + c->sector_size - jeb->free_size;
683 ofs |= REF_OBSOLETE;
685 jffs2_link_node_ref(c, jeb, ofs, size, NULL);