Lines Matching refs:cnode
53 struct ubifs_cnode *cnode; in first_dirty_cnode() local
55 cnode = nnode->nbranch[i].cnode; in first_dirty_cnode()
56 if (cnode && in first_dirty_cnode()
57 test_bit(DIRTY_CNODE, &cnode->flags)) { in first_dirty_cnode()
58 if (cnode->level == 0) in first_dirty_cnode()
59 return cnode; in first_dirty_cnode()
60 nnode = (struct ubifs_nnode *)cnode; in first_dirty_cnode()
76 static struct ubifs_cnode *next_dirty_cnode(struct ubifs_cnode *cnode) in next_dirty_cnode() argument
81 ubifs_assert(cnode); in next_dirty_cnode()
82 nnode = cnode->parent; in next_dirty_cnode()
85 for (i = cnode->iip + 1; i < UBIFS_LPT_FANOUT; i++) { in next_dirty_cnode()
86 cnode = nnode->nbranch[i].cnode; in next_dirty_cnode()
87 if (cnode && test_bit(DIRTY_CNODE, &cnode->flags)) { in next_dirty_cnode()
88 if (cnode->level == 0) in next_dirty_cnode()
89 return cnode; /* cnode is a pnode */ in next_dirty_cnode()
91 return first_dirty_cnode((struct ubifs_nnode *)cnode); in next_dirty_cnode()
105 struct ubifs_cnode *cnode, *cnext; in get_cnodes_to_commit() local
115 cnode = c->lpt_cnext; in get_cnodes_to_commit()
116 if (!cnode) in get_cnodes_to_commit()
120 ubifs_assert(!test_bit(COW_CNODE, &cnode->flags)); in get_cnodes_to_commit()
121 __set_bit(COW_CNODE, &cnode->flags); in get_cnodes_to_commit()
122 cnext = next_dirty_cnode(cnode); in get_cnodes_to_commit()
124 cnode->cnext = c->lpt_cnext; in get_cnodes_to_commit()
127 cnode->cnext = cnext; in get_cnodes_to_commit()
128 cnode = cnext; in get_cnodes_to_commit()
200 struct ubifs_cnode *cnode; in layout_cnodes() local
205 cnode = c->lpt_cnext; in layout_cnodes()
206 if (!cnode) in layout_cnodes()
230 if (cnode->level) { in layout_cnodes()
266 if (cnode->parent) { in layout_cnodes()
267 cnode->parent->nbranch[cnode->iip].lnum = lnum; in layout_cnodes()
268 cnode->parent->nbranch[cnode->iip].offs = offs; in layout_cnodes()
275 cnode = cnode->cnext; in layout_cnodes()
276 } while (cnode && cnode != c->lpt_cnext); in layout_cnodes()
380 struct ubifs_cnode *cnode; in write_cnodes() local
383 cnode = c->lpt_cnext; in write_cnodes()
384 if (!cnode) in write_cnodes()
414 if (cnode->level) in write_cnodes()
455 if (cnode->level) in write_cnodes()
457 (struct ubifs_nnode *)cnode); in write_cnodes()
460 (struct ubifs_pnode *)cnode); in write_cnodes()
467 clear_bit(DIRTY_CNODE, &cnode->flags); in write_cnodes()
469 clear_bit(COW_CNODE, &cnode->flags); in write_cnodes()
473 cnode = cnode->cnext; in write_cnodes()
474 } while (cnode && cnode != c->lpt_cnext); in write_cnodes()
1307 struct ubifs_cnode *cnode, *cnext; in free_obsolete_cnodes() local
1313 cnode = cnext; in free_obsolete_cnodes()
1314 cnext = cnode->cnext; in free_obsolete_cnodes()
1315 if (test_bit(OBSOLETE_CNODE, &cnode->flags)) in free_obsolete_cnodes()
1316 kfree(cnode); in free_obsolete_cnodes()
1318 cnode->cnext = NULL; in free_obsolete_cnodes()