sleb 210 fs/ubifs/auth.c struct ubifs_scan_leb *sleb; sleb 214 fs/ubifs/auth.c sleb = ubifs_scan(c, UBIFS_SB_LNUM, UBIFS_SB_NODE_SZ, c->sbuf, 0); sleb 215 fs/ubifs/auth.c if (IS_ERR(sleb)) { sleb 216 fs/ubifs/auth.c err = PTR_ERR(sleb); sleb 220 fs/ubifs/auth.c if (sleb->nodes_cnt == 0) { sleb 226 fs/ubifs/auth.c snod = list_first_entry(&sleb->nodes, struct ubifs_scan_node, list); sleb 260 fs/ubifs/auth.c ubifs_scan_destroy(sleb); sleb 795 fs/ubifs/debug.c const struct ubifs_scan_leb *sleb, int offs) sleb 800 fs/ubifs/debug.c current->pid, sleb->lnum, offs); sleb 802 fs/ubifs/debug.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 805 fs/ubifs/debug.c sleb->lnum, snod->offs, snod->len); sleb 812 fs/ubifs/debug.c struct ubifs_scan_leb *sleb; sleb 824 fs/ubifs/debug.c sleb = ubifs_scan(c, lnum, 0, buf, 0); sleb 825 fs/ubifs/debug.c if (IS_ERR(sleb)) { sleb 826 fs/ubifs/debug.c ubifs_err(c, "scan error %d", (int)PTR_ERR(sleb)); sleb 831 fs/ubifs/debug.c sleb->nodes_cnt, sleb->endpt); sleb 833 fs/ubifs/debug.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 841 fs/ubifs/debug.c ubifs_scan_destroy(sleb); sleb 255 fs/ubifs/debug.h const struct ubifs_scan_leb *sleb, int offs); sleb 231 fs/ubifs/gc.c static int sort_nodes(struct ubifs_info *c, struct ubifs_scan_leb *sleb, sleb 240 fs/ubifs/gc.c list_for_each_entry_safe(snod, tmp, &sleb->nodes, list) { sleb 263 fs/ubifs/gc.c err = ubifs_tnc_has_node(c, &snod->key, 0, sleb->lnum, sleb 283 fs/ubifs/gc.c list_sort(c, &sleb->nodes, &data_nodes_cmp); sleb 286 fs/ubifs/gc.c err = dbg_check_data_nodes_order(c, &sleb->nodes); sleb 306 fs/ubifs/gc.c static int move_node(struct ubifs_info *c, struct ubifs_scan_leb *sleb, sleb 316 fs/ubifs/gc.c err = ubifs_tnc_replace(c, &snod->key, sleb->lnum, sleb 334 fs/ubifs/gc.c static int move_nodes(struct ubifs_info *c, struct ubifs_scan_leb *sleb) sleb 350 fs/ubifs/gc.c err = sort_nodes(c, sleb, &nondata, &min); sleb 360 fs/ubifs/gc.c list_for_each_entry_safe(snod, tmp, &sleb->nodes, list) { sleb 375 fs/ubifs/gc.c err = move_node(c, sleb, snod, wbuf); sleb 407 fs/ubifs/gc.c err = move_node(c, sleb, snod, wbuf); sleb 439 fs/ubifs/gc.c if (list_empty(&sleb->nodes) && list_empty(&nondata)) sleb 454 fs/ubifs/gc.c list_splice_tail(&nondata, &sleb->nodes); sleb 496 fs/ubifs/gc.c struct ubifs_scan_leb *sleb; sleb 541 fs/ubifs/gc.c sleb = ubifs_scan(c, lnum, 0, c->sbuf, 0); sleb 542 fs/ubifs/gc.c if (IS_ERR(sleb)) sleb 543 fs/ubifs/gc.c return PTR_ERR(sleb); sleb 545 fs/ubifs/gc.c ubifs_assert(c, !list_empty(&sleb->nodes)); sleb 546 fs/ubifs/gc.c snod = list_entry(sleb->nodes.next, struct ubifs_scan_node, list); sleb 553 fs/ubifs/gc.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 590 fs/ubifs/gc.c err = move_nodes(c, sleb); sleb 625 fs/ubifs/gc.c ubifs_scan_destroy(sleb); sleb 644 fs/ubifs/log.c struct ubifs_scan_leb *sleb; sleb 658 fs/ubifs/log.c sleb = ubifs_scan(c, lnum, 0, c->sbuf, 0); sleb 659 fs/ubifs/log.c if (IS_ERR(sleb)) { sleb 660 fs/ubifs/log.c err = PTR_ERR(sleb); sleb 663 fs/ubifs/log.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 691 fs/ubifs/log.c ubifs_scan_destroy(sleb); sleb 725 fs/ubifs/log.c ubifs_scan_destroy(sleb); sleb 1019 fs/ubifs/lprops.c struct ubifs_scan_leb *sleb; sleb 1102 fs/ubifs/lprops.c sleb = ubifs_scan(c, lnum, 0, buf, 0); sleb 1103 fs/ubifs/lprops.c if (IS_ERR(sleb)) { sleb 1104 fs/ubifs/lprops.c ret = PTR_ERR(sleb); sleb 1113 fs/ubifs/lprops.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 1143 fs/ubifs/lprops.c free = c->leb_size - sleb->endpt; sleb 1144 fs/ubifs/lprops.c dirty = sleb->endpt - used; sleb 1225 fs/ubifs/lprops.c ubifs_scan_destroy(sleb); sleb 1234 fs/ubifs/lprops.c ubifs_scan_destroy(sleb); sleb 95 fs/ubifs/master.c struct ubifs_scan_leb *sleb; sleb 101 fs/ubifs/master.c sleb = ubifs_scan(c, lnum, 0, c->sbuf, 1); sleb 102 fs/ubifs/master.c if (IS_ERR(sleb)) sleb 103 fs/ubifs/master.c return PTR_ERR(sleb); sleb 104 fs/ubifs/master.c nodes_cnt = sleb->nodes_cnt; sleb 106 fs/ubifs/master.c snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node, sleb 113 fs/ubifs/master.c ubifs_scan_destroy(sleb); sleb 117 fs/ubifs/master.c sleb = ubifs_scan(c, lnum, 0, c->sbuf, 1); sleb 118 fs/ubifs/master.c if (IS_ERR(sleb)) sleb 119 fs/ubifs/master.c return PTR_ERR(sleb); sleb 120 fs/ubifs/master.c if (sleb->nodes_cnt != nodes_cnt) sleb 122 fs/ubifs/master.c if (!sleb->nodes_cnt) sleb 124 fs/ubifs/master.c snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node, list); sleb 133 fs/ubifs/master.c ubifs_scan_destroy(sleb); sleb 157 fs/ubifs/master.c ubifs_scan_destroy(sleb); sleb 163 fs/ubifs/master.c ubifs_scan_destroy(sleb); sleb 623 fs/ubifs/orphan.c static int do_kill_orphans(struct ubifs_info *c, struct ubifs_scan_leb *sleb, sleb 638 fs/ubifs/orphan.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 641 fs/ubifs/orphan.c snod->type, sleb->lnum, snod->offs); sleb 669 fs/ubifs/orphan.c cmt_no, sleb->lnum, snod->offs); sleb 674 fs/ubifs/orphan.c dbg_rcvry("out of date LEB %d", sleb->lnum); sleb 718 fs/ubifs/orphan.c cmt_no, sleb->lnum, snod->offs); sleb 769 fs/ubifs/orphan.c struct ubifs_scan_leb *sleb; sleb 772 fs/ubifs/orphan.c sleb = ubifs_scan(c, lnum, 0, c->sbuf, 1); sleb 773 fs/ubifs/orphan.c if (IS_ERR(sleb)) { sleb 774 fs/ubifs/orphan.c if (PTR_ERR(sleb) == -EUCLEAN) sleb 775 fs/ubifs/orphan.c sleb = ubifs_recover_leb(c, lnum, 0, sleb 777 fs/ubifs/orphan.c if (IS_ERR(sleb)) { sleb 778 fs/ubifs/orphan.c err = PTR_ERR(sleb); sleb 782 fs/ubifs/orphan.c err = do_kill_orphans(c, sleb, &last_cmt_no, &outofdate, sleb 785 fs/ubifs/orphan.c ubifs_scan_destroy(sleb); sleb 788 fs/ubifs/orphan.c if (sleb->endpt) { sleb 790 fs/ubifs/orphan.c c->ohead_offs = sleb->endpt; sleb 792 fs/ubifs/orphan.c ubifs_scan_destroy(sleb); sleb 943 fs/ubifs/orphan.c static int dbg_read_orphans(struct check_info *ci, struct ubifs_scan_leb *sleb) sleb 950 fs/ubifs/orphan.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 982 fs/ubifs/orphan.c struct ubifs_scan_leb *sleb; sleb 984 fs/ubifs/orphan.c sleb = ubifs_scan(c, lnum, 0, buf, 0); sleb 985 fs/ubifs/orphan.c if (IS_ERR(sleb)) { sleb 986 fs/ubifs/orphan.c err = PTR_ERR(sleb); sleb 990 fs/ubifs/orphan.c err = dbg_read_orphans(ci, sleb); sleb 991 fs/ubifs/orphan.c ubifs_scan_destroy(sleb); sleb 491 fs/ubifs/recovery.c static int fix_unclean_leb(struct ubifs_info *c, struct ubifs_scan_leb *sleb, sleb 494 fs/ubifs/recovery.c int lnum = sleb->lnum, endpt = start; sleb 497 fs/ubifs/recovery.c if (!list_empty(&sleb->nodes)) { sleb 500 fs/ubifs/recovery.c snod = list_entry(sleb->nodes.prev, sleb 510 fs/ubifs/recovery.c lnum, start, sleb->endpt); sleb 522 fs/ubifs/recovery.c lnum, start, sleb->endpt); sleb 531 fs/ubifs/recovery.c err = ubifs_leb_read(c, lnum, sleb->buf, 0, sleb 541 fs/ubifs/recovery.c void *buf = sleb->buf + len - pad_len; sleb 546 fs/ubifs/recovery.c err = ubifs_leb_change(c, lnum, sleb->buf, len); sleb 562 fs/ubifs/recovery.c static void drop_last_group(struct ubifs_scan_leb *sleb, int *offs) sleb 564 fs/ubifs/recovery.c while (!list_empty(&sleb->nodes)) { sleb 568 fs/ubifs/recovery.c snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node, sleb 575 fs/ubifs/recovery.c sleb->lnum, snod->offs); sleb 579 fs/ubifs/recovery.c sleb->nodes_cnt -= 1; sleb 591 fs/ubifs/recovery.c static void drop_last_node(struct ubifs_scan_leb *sleb, int *offs) sleb 595 fs/ubifs/recovery.c if (!list_empty(&sleb->nodes)) { sleb 596 fs/ubifs/recovery.c snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node, sleb 600 fs/ubifs/recovery.c sleb->lnum, snod->offs); sleb 604 fs/ubifs/recovery.c sleb->nodes_cnt -= 1; sleb 627 fs/ubifs/recovery.c struct ubifs_scan_leb *sleb; sleb 632 fs/ubifs/recovery.c sleb = ubifs_start_scan(c, lnum, offs, sbuf); sleb 633 fs/ubifs/recovery.c if (IS_ERR(sleb)) sleb 634 fs/ubifs/recovery.c return sleb; sleb 653 fs/ubifs/recovery.c err = ubifs_add_snod(c, sleb, buf, offs); sleb 708 fs/ubifs/recovery.c drop_last_group(sleb, &offs); sleb 762 fs/ubifs/recovery.c drop_last_node(sleb, &offs); sleb 769 fs/ubifs/recovery.c ubifs_end_scan(c, sleb, lnum, offs); sleb 771 fs/ubifs/recovery.c err = fix_unclean_leb(c, sleb, start); sleb 775 fs/ubifs/recovery.c return sleb; sleb 786 fs/ubifs/recovery.c ubifs_scan_destroy(sleb); sleb 859 fs/ubifs/recovery.c struct ubifs_scan_leb *sleb; sleb 871 fs/ubifs/recovery.c sleb = ubifs_scan(c, next_lnum, 0, sbuf, 0); sleb 872 fs/ubifs/recovery.c if (IS_ERR(sleb)) sleb 873 fs/ubifs/recovery.c return sleb; sleb 874 fs/ubifs/recovery.c if (sleb->nodes_cnt) { sleb 878 fs/ubifs/recovery.c snod = list_entry(sleb->nodes.next, sleb 885 fs/ubifs/recovery.c ubifs_scan_destroy(sleb); sleb 892 fs/ubifs/recovery.c ubifs_scan_destroy(sleb); sleb 896 fs/ubifs/recovery.c ubifs_scan_destroy(sleb); sleb 597 fs/ubifs/replay.c static int authenticate_sleb(struct ubifs_info *c, struct ubifs_scan_leb *sleb, sleb 608 fs/ubifs/replay.c return sleb->nodes_cnt; sleb 610 fs/ubifs/replay.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 648 fs/ubifs/replay.c n_not_auth, sleb->lnum); sleb 652 fs/ubifs/replay.c n_not_auth, sleb->lnum); sleb 676 fs/ubifs/replay.c struct ubifs_scan_leb *sleb; sleb 689 fs/ubifs/replay.c sleb = ubifs_recover_leb(c, lnum, offs, c->sbuf, b->bud->jhead); sleb 691 fs/ubifs/replay.c sleb = ubifs_scan(c, lnum, offs, c->sbuf, 0); sleb 692 fs/ubifs/replay.c if (IS_ERR(sleb)) sleb 693 fs/ubifs/replay.c return PTR_ERR(sleb); sleb 695 fs/ubifs/replay.c n_nodes = authenticate_sleb(c, sleb, b->bud->log_hash, is_last); sleb 726 fs/ubifs/replay.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 824 fs/ubifs/replay.c ubifs_assert(c, sleb->endpt - offs >= used); sleb 825 fs/ubifs/replay.c ubifs_assert(c, sleb->endpt % c->min_io_size == 0); sleb 827 fs/ubifs/replay.c b->dirty = sleb->endpt - offs - used; sleb 828 fs/ubifs/replay.c b->free = c->leb_size - sleb->endpt; sleb 833 fs/ubifs/replay.c ubifs_scan_destroy(sleb); sleb 839 fs/ubifs/replay.c ubifs_scan_destroy(sleb); sleb 992 fs/ubifs/replay.c struct ubifs_scan_leb *sleb; sleb 997 fs/ubifs/replay.c sleb = ubifs_scan(c, lnum, offs, sbuf, c->need_recovery); sleb 998 fs/ubifs/replay.c if (IS_ERR(sleb)) { sleb 999 fs/ubifs/replay.c if (PTR_ERR(sleb) != -EUCLEAN || !c->need_recovery) sleb 1000 fs/ubifs/replay.c return PTR_ERR(sleb); sleb 1006 fs/ubifs/replay.c sleb = ubifs_recover_log_leb(c, lnum, offs, sbuf); sleb 1007 fs/ubifs/replay.c if (IS_ERR(sleb)) sleb 1008 fs/ubifs/replay.c return PTR_ERR(sleb); sleb 1011 fs/ubifs/replay.c if (sleb->nodes_cnt == 0) { sleb 1016 fs/ubifs/replay.c node = sleb->buf; sleb 1017 fs/ubifs/replay.c snod = list_entry(sleb->nodes.next, struct ubifs_scan_node, list); sleb 1069 fs/ubifs/replay.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 1123 fs/ubifs/replay.c if (sleb->endpt || c->lhead_offs >= c->leb_size) { sleb 1125 fs/ubifs/replay.c c->lhead_offs = sleb->endpt; sleb 1128 fs/ubifs/replay.c err = !sleb->endpt; sleb 1130 fs/ubifs/replay.c ubifs_scan_destroy(sleb); sleb 1137 fs/ubifs/replay.c ubifs_scan_destroy(sleb); sleb 128 fs/ubifs/scan.c struct ubifs_scan_leb *sleb; sleb 133 fs/ubifs/scan.c sleb = kzalloc(sizeof(struct ubifs_scan_leb), GFP_NOFS); sleb 134 fs/ubifs/scan.c if (!sleb) sleb 137 fs/ubifs/scan.c sleb->lnum = lnum; sleb 138 fs/ubifs/scan.c INIT_LIST_HEAD(&sleb->nodes); sleb 139 fs/ubifs/scan.c sleb->buf = sbuf; sleb 145 fs/ubifs/scan.c kfree(sleb); sleb 153 fs/ubifs/scan.c return sleb; sleb 163 fs/ubifs/scan.c void ubifs_end_scan(const struct ubifs_info *c, struct ubifs_scan_leb *sleb, sleb 169 fs/ubifs/scan.c sleb->endpt = ALIGN(offs, c->min_io_size); sleb 181 fs/ubifs/scan.c int ubifs_add_snod(const struct ubifs_info *c, struct ubifs_scan_leb *sleb, sleb 213 fs/ubifs/scan.c list_add_tail(&snod->list, &sleb->nodes); sleb 214 fs/ubifs/scan.c sleb->nodes_cnt += 1; sleb 259 fs/ubifs/scan.c struct ubifs_scan_leb *sleb; sleb 261 fs/ubifs/scan.c sleb = ubifs_start_scan(c, lnum, offs, sbuf); sleb 262 fs/ubifs/scan.c if (IS_ERR(sleb)) sleb 263 fs/ubifs/scan.c return sleb; sleb 303 fs/ubifs/scan.c err = ubifs_add_snod(c, sleb, buf, offs); sleb 320 fs/ubifs/scan.c ubifs_end_scan(c, sleb, lnum, offs); sleb 333 fs/ubifs/scan.c return sleb; sleb 341 fs/ubifs/scan.c ubifs_scan_destroy(sleb); sleb 346 fs/ubifs/scan.c ubifs_scan_destroy(sleb); sleb 354 fs/ubifs/scan.c void ubifs_scan_destroy(struct ubifs_scan_leb *sleb) sleb 359 fs/ubifs/scan.c head = &sleb->nodes; sleb 365 fs/ubifs/scan.c kfree(sleb); sleb 226 fs/ubifs/tnc_commit.c struct ubifs_scan_leb *sleb; sleb 246 fs/ubifs/tnc_commit.c sleb = ubifs_scan(c, lnum, 0, c->ileb_buf, 0); sleb 248 fs/ubifs/tnc_commit.c if (IS_ERR(sleb)) sleb 249 fs/ubifs/tnc_commit.c return PTR_ERR(sleb); sleb 251 fs/ubifs/tnc_commit.c list_for_each_entry(snod, &sleb->nodes, list) { sleb 263 fs/ubifs/tnc_commit.c ubifs_scan_destroy(sleb); sleb 279 fs/ubifs/tnc_commit.c ubifs_scan_destroy(sleb); sleb 286 fs/ubifs/tnc_commit.c ubifs_scan_destroy(sleb); sleb 1739 fs/ubifs/ubifs.h void ubifs_scan_destroy(struct ubifs_scan_leb *sleb); sleb 1744 fs/ubifs/ubifs.h void ubifs_end_scan(const struct ubifs_info *c, struct ubifs_scan_leb *sleb, sleb 1746 fs/ubifs/ubifs.h int ubifs_add_snod(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,