• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/fs/ubifs/

Lines Matching defs:znode

31  * @znode: znode from which to make new index node
37 struct ubifs_znode *znode, int lnum, int offs, int len)
44 idx->child_cnt = cpu_to_le16(znode->child_cnt);
45 idx->level = cpu_to_le16(znode->level);
46 for (i = 0; i < znode->child_cnt; i++) {
48 struct ubifs_zbranch *zbr = &znode->zbranch[i];
55 ubifs_err("bad ref in znode");
56 dbg_dump_znode(c, znode);
57 if (zbr->znode)
58 dbg_dump_znode(c, zbr->znode);
64 znode->lnum = lnum;
65 znode->offs = offs;
66 znode->len = len;
69 err = insert_old_idx_znode(c, znode);
72 zp = znode->parent;
76 zbr = &zp->zbranch[znode->iip];
89 ubifs_assert(ubifs_zn_dirty(znode));
90 ubifs_assert(test_bit(COW_ZNODE, &znode->flags));
92 __clear_bit(DIRTY_ZNODE, &znode->flags);
93 __clear_bit(COW_ZNODE, &znode->flags);
125 struct ubifs_znode *znode = c->enext;
130 err = make_idx_node(c, c->ileb_buf + gap_pos, znode,
136 c->enext = znode->cnext;
221 * This function merely puts the next znode into the next gap, making no attempt
416 struct ubifs_znode *znode, *cnext, *zp;
438 znode = cnext;
440 len = ubifs_idx_node_sz(c, znode->child_cnt);
457 znode->lnum = lnum;
458 znode->offs = offs;
459 znode->len = len;
463 zp = znode->parent;
468 i = znode->iip;
481 * Once lprops is updated, we can decrease the dirty znode count
490 cnext = znode->cnext;
590 * find_first_dirty - find first dirty znode.
591 * @znode: znode to begin searching from
593 static struct ubifs_znode *find_first_dirty(struct ubifs_znode *znode)
597 if (!znode)
601 if (znode->level == 0) {
602 if (ubifs_zn_dirty(znode))
603 return znode;
607 for (i = 0; i < znode->child_cnt; i++) {
608 struct ubifs_zbranch *zbr = &znode->zbranch[i];
610 if (zbr->znode && ubifs_zn_dirty(zbr->znode)) {
611 znode = zbr->znode;
617 if (ubifs_zn_dirty(znode))
618 return znode;
625 * find_next_dirty - find next dirty znode.
626 * @znode: znode to begin searching from
628 static struct ubifs_znode *find_next_dirty(struct ubifs_znode *znode)
630 int n = znode->iip + 1;
632 znode = znode->parent;
633 if (!znode)
635 for (; n < znode->child_cnt; n++) {
636 struct ubifs_zbranch *zbr = &znode->zbranch[n];
638 if (zbr->znode && ubifs_zn_dirty(zbr->znode))
639 return find_first_dirty(zbr->znode);
641 return znode;
652 struct ubifs_znode *znode, *cnext;
655 c->cnext = find_first_dirty(c->zroot.znode);
656 znode = c->enext = c->cnext;
657 if (!znode) {
663 ubifs_assert(!test_bit(COW_ZNODE, &znode->flags));
664 __set_bit(COW_ZNODE, &znode->flags);
665 znode->alt = 0;
666 cnext = find_next_dirty(znode);
668 znode->cnext = c->cnext;
671 znode->cnext = cnext;
672 znode = cnext;
833 struct ubifs_znode *znode, *cnext;
866 znode = cnext;
871 idx->child_cnt = cpu_to_le16(znode->child_cnt);
872 idx->level = cpu_to_le16(znode->level);
873 for (i = 0; i < znode->child_cnt; i++) {
875 struct ubifs_zbranch *zbr = &znode->zbranch[i];
882 ubifs_err("bad ref in znode");
883 dbg_dump_znode(c, znode);
884 if (zbr->znode)
885 dbg_dump_znode(c, zbr->znode);
888 len = ubifs_idx_node_sz(c, znode->child_cnt);
901 if (lnum != znode->lnum || offs != znode->offs ||
902 len != znode->len) {
903 ubifs_err("inconsistent znode posn");
908 /* Grab some stuff from znode while we still can */
909 cnext = znode->cnext;
911 ubifs_assert(ubifs_zn_dirty(znode));
912 ubifs_assert(test_bit(COW_ZNODE, &znode->flags));
922 clear_bit(DIRTY_ZNODE, &znode->flags);
924 clear_bit(COW_ZNODE, &znode->flags);
927 /* Do not access znode from this point on */
1028 struct ubifs_znode *znode, *cnext;
1032 znode = cnext;
1033 cnext = znode->cnext;
1034 if (test_bit(OBSOLETE_ZNODE, &znode->flags))
1035 kfree(znode);
1037 znode->cnext = NULL;
1094 dbg_cmt("TNC height is %d", c->zroot.znode->level + 1);