Lines Matching refs:this
8 * For licensing information, see the file 'LICENCE' in this directory.
83 /* TODO: this is very frequent pattern, make it a separate
210 * bother to keep track of holes in this rbtree, and neither do we deal
223 struct jffs2_tmp_dnode_info *this, *ptn;
249 /* Find the earliest node which _may_ be relevant to this one */
250 this = jffs2_lookup_tn(&rii->tn_root, tn->fn->ofs);
251 if (this) {
254 while (this->overlapped) {
255 ptn = tn_prev(this);
261 this->overlapped = 0;
264 this = ptn;
266 dbg_readinode("'this' found %#04x-%#04x (%s)\n", this->fn->ofs, this->fn->ofs + this->fn->size, this->fn ? "data" : "hole");
269 while (this) {
270 if (this->fn->ofs > fn_end)
272 dbg_readinode("Ponder this ver %d, 0x%x-0x%x\n",
273 this->version, this->fn->ofs, this->fn->size);
275 if (this->version == tn->version) {
278 if (!check_tn_node(c, this)) {
286 rb_replace_node(&this->rb, &tn->rb, &rii->tn_root);
287 jffs2_kill_tn(c, this);
292 if (this->version < tn->version &&
293 this->fn->ofs >= tn->fn->ofs &&
294 this->fn->ofs + this->fn->size <= fn_end) {
295 /* New node entirely overlaps 'this' */
301 /* ... and is good. Kill 'this' and any subsequent nodes which are also overlapped */
302 while (this && this->fn->ofs + this->fn->size <= fn_end) {
303 struct jffs2_tmp_dnode_info *next = tn_next(this);
304 if (this->version < tn->version) {
305 tn_erase(this, &rii->tn_root);
307 this->version, this->fn->ofs,
308 this->fn->ofs+this->fn->size);
309 jffs2_kill_tn(c, this);
311 this = next;
316 if (this->version > tn->version &&
317 this->fn->ofs <= tn->fn->ofs &&
318 this->fn->ofs+this->fn->size >= fn_end) {
319 /* New node entirely overlapped by 'this' */
320 if (!check_tn_node(c, this)) {
325 /* ... but 'this' was bad. Replace it... */
327 tn_erase(this, &rii->tn_root);
328 jffs2_kill_tn(c, this);
332 this = tn_next(this);
358 this = tn_prev(tn);
359 if (this) {
361 if (this->fn->ofs + this->fn->size > tn->fn->ofs) {
363 this, this->version, this->fn->ofs,
364 this->fn->ofs+this->fn->size);
368 if (!this->overlapped)
371 ptn = tn_prev(this);
377 this->overlapped = 0;
380 this = ptn;
385 this = tn_next(tn);
386 while (this && this->fn->ofs < fn_end) {
387 this->overlapped = 1;
389 this->version, this->fn->ofs,
390 this->fn->ofs+this->fn->size);
391 this = tn_next(this);
398 child (if any) take its place under its parent. Since this is only done
455 struct jffs2_tmp_dnode_info *pen, *last, *this;
465 this = tn_last(&rii->tn_root);
466 while (this) {
467 dbg_readinode("tn %p ver %d range 0x%x-0x%x ov %d\n", this, this->version, this->fn->ofs,
468 this->fn->ofs+this->fn->size, this->overlapped);
469 this = tn_prev(this);
493 this = tn_last(&ver_root);
495 while (this) {
498 vers_next = tn_prev(this);
499 eat_last(&ver_root, &this->rb);
500 if (check_tn_node(c, this)) {
502 this->version, this->fn->ofs,
503 this->fn->ofs+this->fn->size);
504 jffs2_kill_tn(c, this);
506 if (this->version > high_ver) {
507 /* Note that this is different from the other
508 highest_version, because this one is only
511 high_ver = this->version;
512 rii->latest_ref = this->fn->raw;
515 this, this->version, this->fn->ofs,
516 this->fn->ofs+this->fn->size, this->overlapped);
518 ret = jffs2_add_full_dnode_to_inode(c, f, this->fn);
524 vers_next = tn_prev(this);
525 if (check_tn_node(c, this))
526 jffs2_mark_node_obsolete(c, this->fn->raw);
527 jffs2_free_full_dnode(this->fn);
528 jffs2_free_tmp_dnode_info(this);
529 this = vers_next;
530 if (!this)
536 jffs2_free_tmp_dnode_info(this);
538 this = vers_next;
604 /* If we've never checked the CRCs on this node, check them now */
742 /* If we've never checked the CRCs on this node, check them now */
755 /* At this point we are supposed to check the data CRC
758 * figure this out, we need to walk all the nodes of
772 * Of course, this optimization only makes sense in case
812 * the space accounting now. For other nodes this will be done
894 JFFS2_ERROR("Node is {%04x,%04x,%08x,%08x}. Please report this error.\n",
977 with this ino. Perform a preliminary ordering on data nodes, throwing away
994 /* FIXME: in case of NOR and available ->point() this
1019 * At this point we don't know the type of the node we're going
1030 * but this flash has some minimal I/O unit. It is
1159 /* Grab all nodes relevant to this ino */
1200 /* No data nodes for this inode. */
1225 /* FIXME: If this fails, there seems to be a memory leak. Find it. */
1258 Remove this when dwmw2 comes to his senses and stops
1327 /* Scan the list of all nodes present for this ino, build map of versions, etc. */