Lines Matching refs:znode

41 					      struct ubifs_znode *znode)  in ubifs_tnc_levelorder_next()  argument
48 if (unlikely(!znode)) in ubifs_tnc_levelorder_next()
51 if (unlikely(znode == zr)) { in ubifs_tnc_levelorder_next()
52 if (znode->level == 0) in ubifs_tnc_levelorder_next()
57 level = znode->level; in ubifs_tnc_levelorder_next()
59 iip = znode->iip; in ubifs_tnc_levelorder_next()
61 ubifs_assert(znode->level <= zr->level); in ubifs_tnc_levelorder_next()
67 while (znode->parent != zr && iip >= znode->parent->child_cnt) { in ubifs_tnc_levelorder_next()
68 znode = znode->parent; in ubifs_tnc_levelorder_next()
69 iip = znode->iip; in ubifs_tnc_levelorder_next()
72 if (unlikely(znode->parent == zr && in ubifs_tnc_levelorder_next()
73 iip >= znode->parent->child_cnt)) { in ubifs_tnc_levelorder_next()
87 znode = ubifs_tnc_find_child(zr, 0); in ubifs_tnc_levelorder_next()
88 ubifs_assert(znode); in ubifs_tnc_levelorder_next()
92 zn = ubifs_tnc_find_child(znode->parent, iip + 1); in ubifs_tnc_levelorder_next()
95 iip = znode->parent->child_cnt; in ubifs_tnc_levelorder_next()
101 znode = zn; in ubifs_tnc_levelorder_next()
108 iip = znode->iip; in ubifs_tnc_levelorder_next()
136 const struct ubifs_znode *znode, in ubifs_search_zbranch() argument
139 int beg = 0, end = znode->child_cnt, uninitialized_var(mid); in ubifs_search_zbranch()
141 const struct ubifs_zbranch *zbr = &znode->zbranch[0]; in ubifs_search_zbranch()
161 ubifs_assert(*n >= -1 && *n < znode->child_cnt); in ubifs_search_zbranch()
166 if (*n + 1 < znode->child_cnt) in ubifs_search_zbranch()
179 struct ubifs_znode *ubifs_tnc_postorder_first(struct ubifs_znode *znode) in ubifs_tnc_postorder_first() argument
181 if (unlikely(!znode)) in ubifs_tnc_postorder_first()
184 while (znode->level > 0) { in ubifs_tnc_postorder_first()
187 child = ubifs_tnc_find_child(znode, 0); in ubifs_tnc_postorder_first()
189 return znode; in ubifs_tnc_postorder_first()
190 znode = child; in ubifs_tnc_postorder_first()
193 return znode; in ubifs_tnc_postorder_first()
203 struct ubifs_znode *ubifs_tnc_postorder_next(struct ubifs_znode *znode) in ubifs_tnc_postorder_next() argument
207 ubifs_assert(znode); in ubifs_tnc_postorder_next()
208 if (unlikely(!znode->parent)) in ubifs_tnc_postorder_next()
212 zn = ubifs_tnc_find_child(znode->parent, znode->iip + 1); in ubifs_tnc_postorder_next()
215 return znode->parent; in ubifs_tnc_postorder_next()
228 long ubifs_destroy_tnc_subtree(struct ubifs_znode *znode) in ubifs_destroy_tnc_subtree() argument
230 struct ubifs_znode *zn = ubifs_tnc_postorder_first(znode); in ubifs_destroy_tnc_subtree()
237 if (!zn->zbranch[n].znode) in ubifs_destroy_tnc_subtree()
241 !ubifs_zn_dirty(zn->zbranch[n].znode)) in ubifs_destroy_tnc_subtree()
245 kfree(zn->zbranch[n].znode); in ubifs_destroy_tnc_subtree()
248 if (zn == znode) { in ubifs_destroy_tnc_subtree()
274 struct ubifs_znode *znode) in read_znode() argument
289 znode->child_cnt = le16_to_cpu(idx->child_cnt); in read_znode()
290 znode->level = le16_to_cpu(idx->level); in read_znode()
293 lnum, offs, znode->level, znode->child_cnt); in read_znode()
295 if (znode->child_cnt > c->fanout || znode->level > UBIFS_MAX_LEVELS) { in read_znode()
297 c->fanout, znode->child_cnt); in read_znode()
299 UBIFS_MAX_LEVELS, znode->level); in read_znode()
304 for (i = 0; i < znode->child_cnt; i++) { in read_znode()
306 struct ubifs_zbranch *zbr = &znode->zbranch[i]; in read_znode()
312 zbr->znode = NULL; in read_znode()
337 if (znode->level) in read_znode()
365 for (i = 0; i < znode->child_cnt - 1; i++) { in read_znode()
368 key1 = &znode->zbranch[i].key; in read_znode()
369 key2 = &znode->zbranch[i + 1].key; in read_znode()
411 struct ubifs_znode *znode; in ubifs_load_znode() local
413 ubifs_assert(!zbr->znode); in ubifs_load_znode()
418 znode = kzalloc(c->max_znode_sz, GFP_NOFS); in ubifs_load_znode()
419 if (!znode) in ubifs_load_znode()
422 err = read_znode(c, zbr->lnum, zbr->offs, zbr->len, znode); in ubifs_load_znode()
436 zbr->znode = znode; in ubifs_load_znode()
437 znode->parent = parent; in ubifs_load_znode()
438 znode->time = get_seconds(); in ubifs_load_znode()
439 znode->iip = iip; in ubifs_load_znode()
441 return znode; in ubifs_load_znode()
444 kfree(znode); in ubifs_load_znode()