Lines Matching refs:sleb

503 static int fix_unclean_leb(struct ubifs_info *c, struct ubifs_scan_leb *sleb,  in fix_unclean_leb()  argument
506 int lnum = sleb->lnum, endpt = start; in fix_unclean_leb()
509 if (!list_empty(&sleb->nodes)) { in fix_unclean_leb()
512 snod = list_entry(sleb->nodes.prev, in fix_unclean_leb()
522 lnum, start, sleb->endpt); in fix_unclean_leb()
534 lnum, start, sleb->endpt); in fix_unclean_leb()
543 err = ubifs_leb_read(c, lnum, sleb->buf, 0, in fix_unclean_leb()
553 void *buf = sleb->buf + len - pad_len; in fix_unclean_leb()
558 err = ubifs_leb_change(c, lnum, sleb->buf, len); in fix_unclean_leb()
574 static void drop_last_group(struct ubifs_scan_leb *sleb, int *offs) in drop_last_group() argument
576 while (!list_empty(&sleb->nodes)) { in drop_last_group()
580 snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node, in drop_last_group()
587 sleb->lnum, snod->offs); in drop_last_group()
591 sleb->nodes_cnt -= 1; in drop_last_group()
603 static void drop_last_node(struct ubifs_scan_leb *sleb, int *offs) in drop_last_node() argument
607 if (!list_empty(&sleb->nodes)) { in drop_last_node()
608 snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node, in drop_last_node()
612 sleb->lnum, snod->offs); in drop_last_node()
616 sleb->nodes_cnt -= 1; in drop_last_node()
639 struct ubifs_scan_leb *sleb; in ubifs_recover_leb() local
644 sleb = ubifs_start_scan(c, lnum, offs, sbuf); in ubifs_recover_leb()
645 if (IS_ERR(sleb)) in ubifs_recover_leb()
646 return sleb; in ubifs_recover_leb()
665 err = ubifs_add_snod(c, sleb, buf, offs); in ubifs_recover_leb()
720 drop_last_group(sleb, &offs); in ubifs_recover_leb()
774 drop_last_node(sleb, &offs); in ubifs_recover_leb()
781 ubifs_end_scan(c, sleb, lnum, offs); in ubifs_recover_leb()
783 err = fix_unclean_leb(c, sleb, start); in ubifs_recover_leb()
787 return sleb; in ubifs_recover_leb()
798 ubifs_scan_destroy(sleb); in ubifs_recover_leb()
871 struct ubifs_scan_leb *sleb; in ubifs_recover_log_leb() local
883 sleb = ubifs_scan(c, next_lnum, 0, sbuf, 0); in ubifs_recover_log_leb()
884 if (IS_ERR(sleb)) in ubifs_recover_log_leb()
885 return sleb; in ubifs_recover_log_leb()
886 if (sleb->nodes_cnt) { in ubifs_recover_log_leb()
890 snod = list_entry(sleb->nodes.next, in ubifs_recover_log_leb()
897 ubifs_scan_destroy(sleb); in ubifs_recover_log_leb()
904 ubifs_scan_destroy(sleb); in ubifs_recover_log_leb()
908 ubifs_scan_destroy(sleb); in ubifs_recover_log_leb()