Lines Matching defs:bu

1541  * @bu: bulk-read parameters and results
1547 * Note, if the bulk-read buffer length (@bu->buf_len) is known, this function
1551 int ubifs_tnc_get_bu_keys(struct ubifs_info *c, struct bu_info *bu)
1555 unsigned int block = key_block(c, &bu->key);
1558 bu->cnt = 0;
1559 bu->blk_cnt = 0;
1560 bu->eof = 0;
1564 err = ubifs_lookup_level0(c, &bu->key, &znode, &n);
1571 if (len > bu->buf_len) {
1576 bu->zbranch[bu->cnt++] = znode->zbranch[n];
1577 bu->blk_cnt += 1;
1593 if (key_inum(c, key) != key_inum(c, &bu->key) ||
1603 if (len > bu->buf_len) {
1617 if (len > bu->buf_len)
1622 bu->blk_cnt += (next_block - block - 1);
1623 if (bu->blk_cnt >= UBIFS_MAX_BULK_READ)
1627 bu->zbranch[bu->cnt++] = *zbr;
1628 bu->blk_cnt += 1;
1630 if (bu->cnt >= UBIFS_MAX_BULK_READ)
1632 if (bu->blk_cnt >= UBIFS_MAX_BULK_READ)
1637 bu->eof = 1;
1640 bu->gc_seq = c->gc_seq;
1648 if (bu->blk_cnt > UBIFS_MAX_BULK_READ)
1649 bu->blk_cnt = UBIFS_MAX_BULK_READ;
1655 !(bu->blk_cnt & (UBIFS_BLOCKS_PER_PAGE - 1)))
1657 if (bu->eof) {
1659 bu->blk_cnt += UBIFS_BLOCKS_PER_PAGE - 1;
1663 block = key_block(c, &bu->key) + bu->blk_cnt;
1665 while (bu->cnt) {
1666 if (key_block(c, &bu->zbranch[bu->cnt - 1].key) < block)
1668 bu->cnt -= 1;
1781 * @bu: bulk-read parameters and results
1788 int ubifs_tnc_bulk_read(struct ubifs_info *c, struct bu_info *bu)
1790 int lnum = bu->zbranch[0].lnum, offs = bu->zbranch[0].offs, len, err, i;
1794 len = bu->zbranch[bu->cnt - 1].offs;
1795 len += bu->zbranch[bu->cnt - 1].len - offs;
1796 if (len > bu->buf_len) {
1797 ubifs_err(c, "buffer too small %d vs %d", bu->buf_len, len);
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))
1816 dbg_tnck(&bu->key, "key ");
1821 buf = bu->buf;
1822 for (i = 0; i < bu->cnt; i++) {
1823 err = validate_data_node(c, buf, &bu->zbranch[i]);
1826 buf = buf + ALIGN(bu->zbranch[i].len, 8);