Lines Matching refs:cnode
46 struct ubifs_cnode *cnode; in first_dirty_cnode() local
48 cnode = nnode->nbranch[i].cnode; in first_dirty_cnode()
49 if (cnode && in first_dirty_cnode()
50 test_bit(DIRTY_CNODE, &cnode->flags)) { in first_dirty_cnode()
51 if (cnode->level == 0) in first_dirty_cnode()
52 return cnode; in first_dirty_cnode()
53 nnode = (struct ubifs_nnode *)cnode; in first_dirty_cnode()
69 static struct ubifs_cnode *next_dirty_cnode(struct ubifs_cnode *cnode) in next_dirty_cnode() argument
74 ubifs_assert(cnode); in next_dirty_cnode()
75 nnode = cnode->parent; in next_dirty_cnode()
78 for (i = cnode->iip + 1; i < UBIFS_LPT_FANOUT; i++) { in next_dirty_cnode()
79 cnode = nnode->nbranch[i].cnode; in next_dirty_cnode()
80 if (cnode && test_bit(DIRTY_CNODE, &cnode->flags)) { in next_dirty_cnode()
81 if (cnode->level == 0) in next_dirty_cnode()
82 return cnode; /* cnode is a pnode */ in next_dirty_cnode()
84 return first_dirty_cnode((struct ubifs_nnode *)cnode); in next_dirty_cnode()
98 struct ubifs_cnode *cnode, *cnext; in get_cnodes_to_commit() local
108 cnode = c->lpt_cnext; in get_cnodes_to_commit()
109 if (!cnode) in get_cnodes_to_commit()
113 ubifs_assert(!test_bit(COW_CNODE, &cnode->flags)); in get_cnodes_to_commit()
114 __set_bit(COW_CNODE, &cnode->flags); in get_cnodes_to_commit()
115 cnext = next_dirty_cnode(cnode); in get_cnodes_to_commit()
117 cnode->cnext = c->lpt_cnext; in get_cnodes_to_commit()
120 cnode->cnext = cnext; in get_cnodes_to_commit()
121 cnode = cnext; in get_cnodes_to_commit()
193 struct ubifs_cnode *cnode; in layout_cnodes() local
198 cnode = c->lpt_cnext; in layout_cnodes()
199 if (!cnode) in layout_cnodes()
223 if (cnode->level) { in layout_cnodes()
259 if (cnode->parent) { in layout_cnodes()
260 cnode->parent->nbranch[cnode->iip].lnum = lnum; in layout_cnodes()
261 cnode->parent->nbranch[cnode->iip].offs = offs; in layout_cnodes()
268 cnode = cnode->cnext; in layout_cnodes()
269 } while (cnode && cnode != c->lpt_cnext); in layout_cnodes()
372 struct ubifs_cnode *cnode; in write_cnodes() local
375 cnode = c->lpt_cnext; in write_cnodes()
376 if (!cnode) in write_cnodes()
406 if (cnode->level) in write_cnodes()
447 if (cnode->level) in write_cnodes()
449 (struct ubifs_nnode *)cnode); in write_cnodes()
452 (struct ubifs_pnode *)cnode); in write_cnodes()
459 clear_bit(DIRTY_CNODE, &cnode->flags); in write_cnodes()
461 clear_bit(COW_CNODE, &cnode->flags); in write_cnodes()
465 cnode = cnode->cnext; in write_cnodes()
466 } while (cnode && cnode != c->lpt_cnext); in write_cnodes()
1298 struct ubifs_cnode *cnode, *cnext; in free_obsolete_cnodes() local
1304 cnode = cnext; in free_obsolete_cnodes()
1305 cnext = cnode->cnext; in free_obsolete_cnodes()
1306 if (test_bit(OBSOLETE_CNODE, &cnode->flags)) in free_obsolete_cnodes()
1307 kfree(cnode); in free_obsolete_cnodes()
1309 cnode->cnext = NULL; in free_obsolete_cnodes()