Lines Matching defs:lnum
57 if (old_idx->lnum < o->lnum)
59 else if (old_idx->lnum > o->lnum)
77 * @lnum: LEB number of obsoleted index node
97 static int insert_old_idx(struct ubifs_info *c, int lnum, int offs)
104 old_idx->lnum = lnum;
125 return insert_old_idx(c, zbr->lnum, zbr->offs);
128 return insert_old_idx(c, c->zroot.lnum,
150 err = insert_old_idx(c, zbr->lnum, zbr->offs);
153 zbr->lnum = 0;
159 err = insert_old_idx(c, c->zroot.lnum, c->zroot.offs);
162 c->zroot.lnum = 0;
215 * @lnum: LEB number of index node
220 static int add_idx_dirt(struct ubifs_info *c, int lnum, int dirt)
223 return ubifs_add_dirt(c, lnum, dirt);
255 zbr->lnum = 0;
282 err = add_idx_dirt(c, zbr->lnum, zbr->len);
301 old_idx->lnum = zbr->lnum;
304 err = add_idx_dirt(c, zbr->lnum, zbr->len);
481 int lnum = zbr->lnum;
487 dbg_io("LEB %d:%d, %s, length %d", lnum, offs, dbg_ntype(type), len);
489 err = ubifs_leb_read(c, lnum, buf, offs, len, 1);
492 type, lnum, offs, err);
516 ubifs_bad_hash(c, buf, zbr->hash, lnum, offs);
538 dbg_tnck(key, "LEB %d:%d, key ", zbr->lnum, zbr->offs);
552 zbr->lnum, zbr->offs, zbr->len);
1029 o_znode->zbranch[o_n].lnum, o_znode->zbranch[o_n].offs,
1039 * @lnum: LEB number of dent to match
1042 * This function returns %1 if @lnum:@offs matches, and %0 otherwise.
1044 static int matches_position(struct ubifs_zbranch *zbr, int lnum, int offs)
1046 if (zbr->lnum == lnum && zbr->offs == offs)
1058 * @lnum: LEB number of dent node to match
1063 * flash address of the right node is known (@lnum:@offs) which makes it much
1066 * resolved, %0 if @lnum:@offs is not found and @zn and @n are set to the
1072 int lnum, int offs)
1079 if (matches_position(&znode->zbranch[nn], lnum, offs))
1091 if (matches_position(&znode->zbranch[nn], lnum, offs)) {
1111 if (matches_position(&znode->zbranch[nn], lnum, offs))
1431 * @lnum: LEB number
1434 * This function determines if @lnum may have been garbage collected since
1438 static int maybe_leb_gced(struct ubifs_info *c, int lnum, int gc_seq1)
1458 /* Finally we can check lnum */
1459 if (gced_lnum == lnum)
1469 * @lnum: LEB number is returned here
1475 * case of failure. The node location can be returned in @lnum and @offs.
1478 void *node, int *lnum, int *offs)
1495 if (lnum) {
1496 *lnum = zt->lnum;
1516 if (ubifs_get_wbuf(c, zbr.lnum)) {
1523 if (err <= 0 || maybe_leb_gced(c, zbr.lnum, gc_seq1)) {
1553 int n, err = 0, lnum = -1, offs;
1578 lnum = znode->zbranch[n].lnum;
1598 if (lnum < 0) {
1600 lnum = zbr->lnum;
1612 if (zbr->lnum != lnum || zbr->offs != offs)
1678 * @lnum: LEB number from which to read
1683 static int read_wbuf(struct ubifs_wbuf *wbuf, void *buf, int len, int lnum,
1689 dbg_io("LEB %d:%d, length %d", lnum, offs, len);
1690 ubifs_assert(c, wbuf && lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
1695 overlap = (lnum == wbuf->lnum && offs + len > wbuf->offs);
1699 return ubifs_leb_read(c, lnum, buf, offs, len, 0);
1713 return ubifs_leb_read(c, lnum, buf, offs, rlen, 0);
1739 err = ubifs_check_node(c, buf, zbr->len, zbr->lnum, zbr->offs, 0, 0);
1747 ubifs_bad_hash(c, buf, zbr->hash, zbr->lnum, zbr->offs);
1761 zbr->lnum, zbr->offs);
1772 ubifs_err(c, "bad node at LEB %d:%d", zbr->lnum, zbr->offs);
1790 int lnum = bu->zbranch[0].lnum, offs = bu->zbranch[0].offs, len, err, i;
1802 wbuf = ubifs_get_wbuf(c, lnum);
1804 err = read_wbuf(wbuf, bu->buf, len, lnum, offs);
1806 err = ubifs_leb_read(c, lnum, bu->buf, offs, len, 0);
1809 if (maybe_leb_gced(c, lnum, bu->gc_seq))
1814 lnum, offs, err);
2099 * if they are split we add their lnum/offs to the old_idx tree.
2255 zbr->lnum = 0;
2278 zi->zbranch[0].lnum = c->zroot.lnum;
2284 c->zroot.lnum = 0;
2301 * @lnum: LEB number of node
2310 int ubifs_tnc_add(struct ubifs_info *c, const union ubifs_key *key, int lnum,
2317 dbg_tnck(key, "%d:%d, len %d, key ", lnum, offs, len);
2323 zbr.lnum = lnum;
2333 err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
2334 zbr->lnum = lnum;
2353 * @lnum: LEB number of node
2362 int old_lnum, int old_offs, int lnum, int offs, int len)
2369 old_offs, lnum, offs, len);
2380 if (zbr->lnum == old_lnum && zbr->offs == old_offs) {
2382 err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
2385 zbr->lnum = lnum;
2410 err = ubifs_add_dirt(c, zbr->lnum,
2414 zbr->lnum = lnum;
2422 err = ubifs_add_dirt(c, lnum, len);
2436 * @lnum: LEB number of node
2446 int lnum, int offs, int len, const u8 *hash,
2453 dbg_tnck(key, "LEB %d:%d, key ", lnum, offs);
2485 err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
2486 zbr->lnum = lnum;
2498 zbr.lnum = lnum;
2553 err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
2620 err = insert_old_idx(c, c->zroot.lnum,
2625 c->zroot.lnum = zbr->lnum;
2866 err = ubifs_add_dirt(c, znode->zbranch[i].lnum,
3209 * @lnum: index node LEB number
3213 * address @lnum:@offs. It looks up the indexing tree by pulling all indexing
3219 * dirty znode which still refers the same @lnum:@offs. This function is clever
3224 * (indexed by @lnum:@offs).
3231 int lnum, int offs)
3253 if (c->zroot.lnum == lnum && c->zroot.offs == offs)
3284 if (znode->zbranch[n].lnum == lnum && znode->zbranch[n].offs == offs)
3309 if (znode->zbranch[n].lnum == lnum &&
3331 if (znode->zbranch[n].lnum == lnum &&
3346 * @lnum: LEB number of index node
3359 int lnum, int offs)
3363 znode = lookup_znode(c, key, level, lnum, offs);
3376 * @lnum: node LEB number
3386 int lnum, int offs)
3399 if (lnum == zbr->lnum && offs == zbr->offs)
3419 if (lnum == zbr->lnum && offs == zbr->offs)
3435 if (lnum == zbr->lnum && offs == zbr->offs)
3446 * @lnum: node LEB number
3456 int lnum, int offs, int is_idx)
3462 err = is_idx_node_in_tnc(c, key, level, lnum, offs);
3474 err = is_leaf_node_in_tnc(c, key, lnum, offs);
3486 * @lnum: index node LEB number
3496 int lnum, int offs)
3502 znode = lookup_znode(c, key, level, lnum, offs);