Lines Matching refs:sleb

498 static int fix_unclean_leb(struct ubifs_info *c, struct ubifs_scan_leb *sleb,  in fix_unclean_leb()  argument
501 int lnum = sleb->lnum, endpt = start; in fix_unclean_leb()
504 if (!list_empty(&sleb->nodes)) { in fix_unclean_leb()
507 snod = list_entry(sleb->nodes.prev, in fix_unclean_leb()
517 lnum, start, sleb->endpt); in fix_unclean_leb()
530 lnum, start, sleb->endpt); in fix_unclean_leb()
539 err = ubifs_leb_read(c, lnum, sleb->buf, 0, in fix_unclean_leb()
549 void *buf = sleb->buf + len - pad_len; in fix_unclean_leb()
554 err = ubifs_leb_change(c, lnum, sleb->buf, len); in fix_unclean_leb()
571 static void drop_last_group(struct ubifs_scan_leb *sleb, int *offs) in drop_last_group() argument
573 while (!list_empty(&sleb->nodes)) { in drop_last_group()
577 snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node, in drop_last_group()
584 sleb->lnum, snod->offs); in drop_last_group()
588 sleb->nodes_cnt -= 1; in drop_last_group()
600 static void drop_last_node(struct ubifs_scan_leb *sleb, int *offs) in drop_last_node() argument
604 if (!list_empty(&sleb->nodes)) { in drop_last_node()
605 snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node, in drop_last_node()
609 sleb->lnum, snod->offs); in drop_last_node()
613 sleb->nodes_cnt -= 1; in drop_last_node()
636 struct ubifs_scan_leb *sleb; in ubifs_recover_leb() local
641 sleb = ubifs_start_scan(c, lnum, offs, sbuf); in ubifs_recover_leb()
642 if (IS_ERR(sleb)) in ubifs_recover_leb()
643 return sleb; in ubifs_recover_leb()
662 err = ubifs_add_snod(c, sleb, buf, offs); in ubifs_recover_leb()
717 drop_last_group(sleb, &offs); in ubifs_recover_leb()
771 drop_last_node(sleb, &offs); in ubifs_recover_leb()
778 ubifs_end_scan(c, sleb, lnum, offs); in ubifs_recover_leb()
780 err = fix_unclean_leb(c, sleb, start); in ubifs_recover_leb()
784 return sleb; in ubifs_recover_leb()
795 ubifs_scan_destroy(sleb); in ubifs_recover_leb()
868 struct ubifs_scan_leb *sleb; in ubifs_recover_log_leb() local
880 sleb = ubifs_scan(c, next_lnum, 0, sbuf, 0); in ubifs_recover_log_leb()
881 if (IS_ERR(sleb)) in ubifs_recover_log_leb()
882 return sleb; in ubifs_recover_log_leb()
883 if (sleb->nodes_cnt) { in ubifs_recover_log_leb()
887 snod = list_entry(sleb->nodes.next, in ubifs_recover_log_leb()
894 ubifs_scan_destroy(sleb); in ubifs_recover_log_leb()
901 ubifs_scan_destroy(sleb); in ubifs_recover_log_leb()
905 ubifs_scan_destroy(sleb); in ubifs_recover_log_leb()