Lines Matching refs:lnum
109 static int get_master_node(const struct ubifs_info *c, int lnum, void **pbuf, in get_master_node() argument
120 err = ubifs_leb_read(c, lnum, sbuf, 0, c->leb_size, 0); in get_master_node()
144 ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1); in get_master_node()
150 ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1); in get_master_node()
164 dbg_rcvry("found a master node at %d:%d", lnum, offs); in get_master_node()
175 dbg_rcvry("found corruption at %d:%d", lnum, offs); in get_master_node()
207 int err = 0, lnum = UBIFS_MST_LNUM, sz = c->mst_node_alsz; in write_rcvrd_mst_node() local
216 err = ubifs_leb_change(c, lnum, mst, sz); in write_rcvrd_mst_node()
219 err = ubifs_leb_change(c, lnum + 1, mst, sz); in write_rcvrd_mst_node()
440 static void clean_buf(const struct ubifs_info *c, void **buf, int lnum, in clean_buf() argument
445 lnum = lnum; in clean_buf()
446 dbg_rcvry("cleaning corruption at %d:%d", lnum, *offs); in clean_buf()
471 int lnum, int offs) in no_more_nodes() argument
484 if (ubifs_check_node(c, buf, lnum, offs, 1, 0) != -EUCLEAN) { in no_more_nodes()
485 dbg_rcvry("unexpected bad common header at %d:%d", lnum, offs); in no_more_nodes()
493 dbg_rcvry("unexpected data at %d:%d", lnum, offs + skip); in no_more_nodes()
506 int lnum = sleb->lnum, endpt = start; in fix_unclean_leb() local
522 lnum, start, sleb->endpt); in fix_unclean_leb()
526 ucleb->lnum = lnum; in fix_unclean_leb()
534 lnum, start, sleb->endpt); in fix_unclean_leb()
536 err = ubifs_leb_unmap(c, lnum); in fix_unclean_leb()
543 err = ubifs_leb_read(c, lnum, sleb->buf, 0, in fix_unclean_leb()
558 err = ubifs_leb_change(c, lnum, sleb->buf, len); in fix_unclean_leb()
587 sleb->lnum, snod->offs); in drop_last_group()
612 sleb->lnum, snod->offs); in drop_last_node()
634 struct ubifs_scan_leb *ubifs_recover_leb(struct ubifs_info *c, int lnum, in ubifs_recover_leb() argument
642 dbg_rcvry("%d:%d, jhead %d, grouped %d", lnum, offs, jhead, grouped); in ubifs_recover_leb()
644 sleb = ubifs_start_scan(c, lnum, offs, sbuf); in ubifs_recover_leb()
651 lnum, offs, len); in ubifs_recover_leb()
659 ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1); in ubifs_recover_leb()
682 ret, lnum, offs); in ubifs_recover_leb()
695 if (!no_more_nodes(c, buf, len, lnum, offs)) in ubifs_recover_leb()
706 lnum, offs, corruption); in ubifs_recover_leb()
780 clean_buf(c, &buf, lnum, &offs, &len); in ubifs_recover_leb()
781 ubifs_end_scan(c, sleb, lnum, offs); in ubifs_recover_leb()
792 ubifs_scan_a_node(c, buf, len, lnum, offs, 1); in ubifs_recover_leb()
794 ubifs_scanned_corruption(c, lnum, offs, buf); in ubifs_recover_leb()
797 ubifs_err(c, "LEB %d scanning failed", lnum); in ubifs_recover_leb()
811 static int get_cs_sqnum(struct ubifs_info *c, int lnum, int offs, in get_cs_sqnum() argument
817 dbg_rcvry("at %d:%d", lnum, offs); in get_cs_sqnum()
823 err = ubifs_leb_read(c, lnum, (void *)cs_node, offs, in get_cs_sqnum()
827 ret = ubifs_scan_a_node(c, cs_node, UBIFS_CS_NODE_SZ, lnum, offs, 0); in get_cs_sqnum()
868 struct ubifs_scan_leb *ubifs_recover_log_leb(struct ubifs_info *c, int lnum, in ubifs_recover_log_leb() argument
874 dbg_rcvry("LEB %d", lnum); in ubifs_recover_log_leb()
875 next_lnum = lnum + 1; in ubifs_recover_log_leb()
895 err = get_cs_sqnum(c, lnum, offs, &cs_sqnum); in ubifs_recover_log_leb()
903 lnum); in ubifs_recover_log_leb()
910 return ubifs_recover_leb(c, lnum, offs, sbuf, -1); in ubifs_recover_log_leb()
924 static int recover_head(struct ubifs_info *c, int lnum, int offs, void *sbuf) in recover_head() argument
935 err = ubifs_leb_read(c, lnum, sbuf, offs, len, 1); in recover_head()
937 dbg_rcvry("cleaning head at %d:%d", lnum, offs); in recover_head()
939 return ubifs_leb_unmap(c, lnum); in recover_head()
940 err = ubifs_leb_read(c, lnum, sbuf, 0, offs, 1); in recover_head()
943 return ubifs_leb_change(c, lnum, sbuf, offs); in recover_head()
997 int err, lnum = ucleb->lnum, offs = 0, len = ucleb->endpt, quiet = 1; in clean_an_unclean_leb() local
1000 dbg_rcvry("LEB %d len %d", lnum, len); in clean_an_unclean_leb()
1004 return ubifs_leb_unmap(c, lnum); in clean_an_unclean_leb()
1007 err = ubifs_leb_read(c, lnum, buf, offs, len, 0); in clean_an_unclean_leb()
1017 ret = ubifs_scan_a_node(c, buf, len, lnum, offs, quiet); in clean_an_unclean_leb()
1041 lnum, offs); in clean_an_unclean_leb()
1051 ubifs_scanned_corruption(c, lnum, offs, buf); in clean_an_unclean_leb()
1067 err = ubifs_leb_change(c, lnum, sbuf, len); in clean_an_unclean_leb()
1071 dbg_rcvry("cleaned LEB %d", lnum); in clean_an_unclean_leb()
1115 int lnum, err; in grab_empty_leb() local
1132 lnum = ubifs_find_free_leb_for_idx(c); in grab_empty_leb()
1133 if (lnum < 0) { in grab_empty_leb()
1137 return lnum; in grab_empty_leb()
1141 err = ubifs_change_one_lp(c, lnum, LPROPS_NC, LPROPS_NC, 0, in grab_empty_leb()
1146 c->gc_lnum = lnum; in grab_empty_leb()
1147 dbg_rcvry("found empty LEB %d, run commit", lnum); in grab_empty_leb()
1176 dbg_rcvry("GC head LEB %d, offs %d", wbuf->lnum, wbuf->offs); in ubifs_rcvry_gc_commit()
1179 if (wbuf->lnum == -1 || wbuf->offs == c->leb_size) in ubifs_rcvry_gc_commit()
1203 dbg_rcvry("GC'ing LEB %d", lp.lnum); in ubifs_rcvry_gc_commit()
1228 dbg_rcvry("allocated LEB %d for GC", lp.lnum); in ubifs_rcvry_gc_commit()
1420 int err, lnum, offs, len; in fix_size_in_place() local
1426 err = ubifs_tnc_locate(c, &key, ino, &lnum, &offs); in fix_size_in_place()
1437 err = ubifs_leb_read(c, lnum, c->sbuf, 0, c->leb_size, 1); in fix_size_in_place()
1453 err = ubifs_leb_change(c, lnum, c->sbuf, len); in fix_size_in_place()
1457 (unsigned long)e->inum, lnum, offs, i_size, e->d_size); in fix_size_in_place()