Lines Matching refs:nnode

379 		      struct ubifs_nnode *nnode)  in ubifs_pack_nnode()  argument
387 pack_bits(&addr, &pos, nnode->num, c->pcnt_bits); in ubifs_pack_nnode()
389 int lnum = nnode->nbranch[i].lnum; in ubifs_pack_nnode()
394 pack_bits(&addr, &pos, nnode->nbranch[i].offs, in ubifs_pack_nnode()
489 void ubifs_add_nnode_dirt(struct ubifs_info *c, struct ubifs_nnode *nnode) in ubifs_add_nnode_dirt() argument
491 struct ubifs_nnode *np = nnode->parent; in ubifs_add_nnode_dirt()
494 ubifs_add_lpt_dirt(c, np->nbranch[nnode->iip].lnum, in ubifs_add_nnode_dirt()
609 struct ubifs_nnode *nnode = NULL; in ubifs_create_dflt_lpt() local
628 nnode = kzalloc(sizeof(struct ubifs_nnode), GFP_KERNEL); in ubifs_create_dflt_lpt()
631 if (!pnode || !nnode || !buf || !ltab || !lsave) { in ubifs_create_dflt_lpt()
747 nnode->nbranch[j].lnum = blnum; in ubifs_create_dflt_lpt()
748 nnode->nbranch[j].offs = boffs; in ubifs_create_dflt_lpt()
752 nnode->nbranch[j].lnum = 0; in ubifs_create_dflt_lpt()
753 nnode->nbranch[j].offs = 0; in ubifs_create_dflt_lpt()
756 nnode->num = calc_nnode_num(row, i); in ubifs_create_dflt_lpt()
757 ubifs_pack_nnode(c, p, nnode); in ubifs_create_dflt_lpt()
851 kfree(nnode); in ubifs_create_dflt_lpt()
997 struct ubifs_nnode *nnode) in ubifs_unpack_nnode() argument
1006 nnode->num = ubifs_unpack_bits(&addr, &pos, c->pcnt_bits); in ubifs_unpack_nnode()
1014 nnode->nbranch[i].lnum = lnum; in ubifs_unpack_nnode()
1015 nnode->nbranch[i].offs = ubifs_unpack_bits(&addr, &pos, in ubifs_unpack_nnode()
1091 static int validate_nnode(const struct ubifs_info *c, struct ubifs_nnode *nnode, in validate_nnode() argument
1099 if (nnode->num != num) in validate_nnode()
1110 int lnum = nnode->nbranch[i].lnum; in validate_nnode()
1111 int offs = nnode->nbranch[i].offs; in validate_nnode()
1193 struct ubifs_nnode *nnode = NULL; in ubifs_read_nnode() local
1205 nnode = kzalloc(sizeof(struct ubifs_nnode), GFP_NOFS); in ubifs_read_nnode()
1206 if (!nnode) { in ubifs_read_nnode()
1218 nnode->num = calc_nnode_num_from_parent(c, parent, iip); in ubifs_read_nnode()
1223 err = ubifs_unpack_nnode(c, buf, nnode); in ubifs_read_nnode()
1227 err = validate_nnode(c, nnode, parent, iip); in ubifs_read_nnode()
1231 nnode->num = calc_nnode_num_from_parent(c, parent, iip); in ubifs_read_nnode()
1233 branch->nnode = nnode; in ubifs_read_nnode()
1234 nnode->level = parent->level - 1; in ubifs_read_nnode()
1236 c->nroot = nnode; in ubifs_read_nnode()
1237 nnode->level = c->lpt_hght; in ubifs_read_nnode()
1239 nnode->parent = parent; in ubifs_read_nnode()
1240 nnode->iip = iip; in ubifs_read_nnode()
1246 kfree(nnode); in ubifs_read_nnode()
1397 struct ubifs_nnode *nnode; in ubifs_get_nnode() local
1401 nnode = branch->nnode; in ubifs_get_nnode()
1402 if (nnode) in ubifs_get_nnode()
1403 return nnode; in ubifs_get_nnode()
1407 return branch->nnode; in ubifs_get_nnode()
1448 struct ubifs_nnode *nnode; in ubifs_lpt_lookup() local
1456 nnode = c->nroot; in ubifs_lpt_lookup()
1462 nnode = ubifs_get_nnode(c, nnode, iip); in ubifs_lpt_lookup()
1463 if (IS_ERR(nnode)) in ubifs_lpt_lookup()
1464 return ERR_CAST(nnode); in ubifs_lpt_lookup()
1467 pnode = ubifs_get_pnode(c, nnode, iip); in ubifs_lpt_lookup()
1485 struct ubifs_nnode *nnode) in dirty_cow_nnode() argument
1490 if (!test_bit(COW_CNODE, &nnode->flags)) { in dirty_cow_nnode()
1492 if (!test_and_set_bit(DIRTY_CNODE, &nnode->flags)) { in dirty_cow_nnode()
1494 ubifs_add_nnode_dirt(c, nnode); in dirty_cow_nnode()
1496 return nnode; in dirty_cow_nnode()
1504 memcpy(n, nnode, sizeof(struct ubifs_nnode)); in dirty_cow_nnode()
1517 ubifs_assert(!test_bit(OBSOLETE_CNODE, &nnode->flags)); in dirty_cow_nnode()
1518 __set_bit(OBSOLETE_CNODE, &nnode->flags); in dirty_cow_nnode()
1521 ubifs_add_nnode_dirt(c, nnode); in dirty_cow_nnode()
1522 if (nnode->parent) in dirty_cow_nnode()
1523 nnode->parent->nbranch[n->iip].nnode = n; in dirty_cow_nnode()
1581 struct ubifs_nnode *nnode; in ubifs_lpt_lookup_dirty() local
1589 nnode = c->nroot; in ubifs_lpt_lookup_dirty()
1590 nnode = dirty_cow_nnode(c, nnode); in ubifs_lpt_lookup_dirty()
1591 if (IS_ERR(nnode)) in ubifs_lpt_lookup_dirty()
1592 return ERR_CAST(nnode); in ubifs_lpt_lookup_dirty()
1598 nnode = ubifs_get_nnode(c, nnode, iip); in ubifs_lpt_lookup_dirty()
1599 if (IS_ERR(nnode)) in ubifs_lpt_lookup_dirty()
1600 return ERR_CAST(nnode); in ubifs_lpt_lookup_dirty()
1601 nnode = dirty_cow_nnode(c, nnode); in ubifs_lpt_lookup_dirty()
1602 if (IS_ERR(nnode)) in ubifs_lpt_lookup_dirty()
1603 return ERR_CAST(nnode); in ubifs_lpt_lookup_dirty()
1606 pnode = ubifs_get_pnode(c, nnode, iip); in ubifs_lpt_lookup_dirty()
1776 struct ubifs_nnode nnode; member
1782 struct ubifs_nnode *nnode; member
1803 struct ubifs_nnode *nnode; in scan_get_nnode() local
1808 nnode = branch->nnode; in scan_get_nnode()
1809 if (nnode) { in scan_get_nnode()
1811 path->ptr.nnode = nnode; in scan_get_nnode()
1812 return nnode; in scan_get_nnode()
1814 nnode = &path->nnode; in scan_get_nnode()
1816 path->ptr.nnode = nnode; in scan_get_nnode()
1817 memset(nnode, 0, sizeof(struct ubifs_nnode)); in scan_get_nnode()
1826 nnode->num = calc_nnode_num_from_parent(c, parent, iip); in scan_get_nnode()
1832 err = ubifs_unpack_nnode(c, buf, nnode); in scan_get_nnode()
1836 err = validate_nnode(c, nnode, parent, iip); in scan_get_nnode()
1840 nnode->num = calc_nnode_num_from_parent(c, parent, iip); in scan_get_nnode()
1841 nnode->level = parent->level - 1; in scan_get_nnode()
1842 nnode->parent = parent; in scan_get_nnode()
1843 nnode->iip = iip; in scan_get_nnode()
1844 return nnode; in scan_get_nnode()
1930 struct ubifs_nnode *nnode; in ubifs_lpt_scan_nolock() local
1954 path[0].ptr.nnode = c->nroot; in ubifs_lpt_scan_nolock()
1958 nnode = c->nroot; in ubifs_lpt_scan_nolock()
1964 nnode = scan_get_nnode(c, path + h, nnode, iip); in ubifs_lpt_scan_nolock()
1965 if (IS_ERR(nnode)) { in ubifs_lpt_scan_nolock()
1966 err = PTR_ERR(nnode); in ubifs_lpt_scan_nolock()
1971 pnode = scan_get_pnode(c, path + h, nnode, iip); in ubifs_lpt_scan_nolock()
1996 nnode = kmemdup(&path[h].nnode, sz, GFP_NOFS); in ubifs_lpt_scan_nolock()
1997 if (!nnode) { in ubifs_lpt_scan_nolock()
2001 parent = nnode->parent; in ubifs_lpt_scan_nolock()
2002 parent->nbranch[nnode->iip].nnode = nnode; in ubifs_lpt_scan_nolock()
2003 path[h].ptr.nnode = nnode; in ubifs_lpt_scan_nolock()
2005 path[h + 1].cnode.parent = nnode; in ubifs_lpt_scan_nolock()
2061 nnode = path[h].ptr.nnode; in ubifs_lpt_scan_nolock()
2064 iip = nnode->iip; in ubifs_lpt_scan_nolock()
2071 nnode = scan_get_nnode(c, path + h, nnode, iip); in ubifs_lpt_scan_nolock()
2072 if (IS_ERR(nnode)) { in ubifs_lpt_scan_nolock()
2073 err = PTR_ERR(nnode); in ubifs_lpt_scan_nolock()
2078 pnode = scan_get_pnode(c, path + h, nnode, iip); in ubifs_lpt_scan_nolock()
2231 struct ubifs_nnode *nnode, *nn; in dbg_check_lpt_nodes() local
2240 nnode = cnode->parent; in dbg_check_lpt_nodes()
2247 (nnode ? nnode->num : 0), cnode->iip); in dbg_check_lpt_nodes()
2280 cnode = (struct ubifs_cnode *)nnode; in dbg_check_lpt_nodes()