/kernel/linux/linux-5.10/fs/ubifs/ |
H A D | find.c | 13 * garbage collection. In general, lprops category heaps and lists are used 37 * @lprops: LEB properties 42 static int valuable(struct ubifs_info *c, const struct ubifs_lprops *lprops) in valuable() argument 44 int n, cat = lprops->flags & LPROPS_CAT_MASK; in valuable() 54 if (lprops->free + lprops->dirty >= c->dark_wm) in valuable() 74 * @lprops: LEB properties to scan 84 const struct ubifs_lprops *lprops, int in_tree, in scan_for_dirty_cb() 90 if (lprops->flags & LPROPS_TAKEN) in scan_for_dirty_cb() 93 if (!in_tree && valuable(c, lprops)) in scan_for_dirty_cb() 83 scan_for_dirty_cb(struct ubifs_info *c, const struct ubifs_lprops *lprops, int in_tree, struct scan_data *data) scan_for_dirty_cb() argument 128 const struct ubifs_lprops *lprops; scan_for_dirty() local 350 scan_for_free_cb(struct ubifs_info *c, const struct ubifs_lprops *lprops, int in_tree, struct scan_data *data) scan_for_free_cb() argument 399 const struct ubifs_lprops *lprops; do_find_free_space() local 484 const struct ubifs_lprops *lprops; ubifs_find_free_space() local 590 scan_for_idx_cb(struct ubifs_info *c, const struct ubifs_lprops *lprops, int in_tree, struct scan_data *data) scan_for_idx_cb() argument 623 const struct ubifs_lprops *lprops; scan_for_leb_for_idx() local 663 const struct ubifs_lprops *lprops; ubifs_find_free_leb_for_idx() local 783 scan_dirty_idx_cb(struct ubifs_info *c, const struct ubifs_lprops *lprops, int in_tree, struct scan_data *data) scan_dirty_idx_cb() argument 818 const struct ubifs_lprops *lprops; find_dirty_idx_leb() local [all...] |
H A D | lprops.c | 23 * @lprops: LEB properties 26 static int get_heap_comp_val(struct ubifs_lprops *lprops, int cat) in get_heap_comp_val() argument 30 return lprops->free; in get_heap_comp_val() 32 return lprops->free + lprops->dirty; in get_heap_comp_val() 34 return lprops->dirty; in get_heap_comp_val() 42 * @lprops: LEB properties to move 51 struct ubifs_lprops *lprops, int cat) in move_up_lpt_heap() 55 hpos = lprops->hpos; in move_up_lpt_heap() 58 val1 = get_heap_comp_val(lprops, ca in move_up_lpt_heap() 50 move_up_lpt_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, struct ubifs_lprops *lprops, int cat) move_up_lpt_heap() argument 87 adjust_lpt_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, struct ubifs_lprops *lprops, int hpos, int cat) adjust_lpt_heap() argument 166 add_to_lpt_heap(struct ubifs_info *c, struct ubifs_lprops *lprops, int cat) add_to_lpt_heap() argument 214 remove_from_lpt_heap(struct ubifs_info *c, struct ubifs_lprops *lprops, int cat) remove_from_lpt_heap() argument 261 ubifs_add_to_cat(struct ubifs_info *c, struct ubifs_lprops *lprops, int cat) ubifs_add_to_cat() argument 304 ubifs_remove_from_cat(struct ubifs_info *c, struct ubifs_lprops *lprops, int cat) ubifs_remove_from_cat() argument 373 ubifs_ensure_cat(struct ubifs_info *c, struct ubifs_lprops *lprops) ubifs_ensure_cat() argument 396 ubifs_categorize_lprops(const struct ubifs_info *c, const struct ubifs_lprops *lprops) ubifs_categorize_lprops() argument 436 change_category(struct ubifs_info *c, struct ubifs_lprops *lprops) change_category() argument 490 is_lprops_dirty(struct ubifs_info *c, struct ubifs_lprops *lprops) is_lprops_dirty() argument 529 struct ubifs_lprops *lprops = (struct ubifs_lprops *)lp; ubifs_change_lp() local 756 struct ubifs_lprops *lprops; ubifs_fast_find_free() local 780 struct ubifs_lprops *lprops; ubifs_fast_find_empty() local 803 struct ubifs_lprops *lprops; ubifs_fast_find_freeable() local 827 struct ubifs_lprops *lprops; ubifs_fast_find_frdi_idx() local 853 struct ubifs_lprops *lprops; dbg_check_cats() local 959 struct ubifs_lprops *lprops = heap->arr[i]; dbg_check_heap() local 1053 struct ubifs_lprops *lprops; scan_check_cb() local [all...] |
H A D | lpt.c | 351 pack_bits(c, &addr, &pos, pnode->lprops[i].free >> 3, in ubifs_pack_pnode() 353 pack_bits(c, &addr, &pos, pnode->lprops[i].dirty >> 3, in ubifs_pack_pnode() 355 if (pnode->lprops[i].flags & LPROPS_INDEX) in ubifs_pack_pnode() 400 * ubifs_pack_ltab - pack the LPT's own lprops table. 403 * @ltab: LPT's own lprops table to pack 641 /* Initialize LPT's own lprops */ in ubifs_create_dflt_lpt() 660 pnode->lprops[0].free = c->leb_size - iopos; in ubifs_create_dflt_lpt() 661 pnode->lprops[0].dirty = iopos - node_sz; in ubifs_create_dflt_lpt() 662 pnode->lprops[0].flags = LPROPS_INDEX; in ubifs_create_dflt_lpt() 666 pnode->lprops[ in ubifs_create_dflt_lpt() 986 struct ubifs_lprops * const lprops = &pnode->lprops[i]; unpack_pnode() local 1296 struct ubifs_lprops * const lprops = &pnode->lprops[i]; read_pnode() local 1376 struct ubifs_lprops *lprops; read_lsave() local 2040 struct ubifs_lprops * const lprops = &pnode->lprops[i]; scan_get_pnode() local 2132 struct ubifs_lprops *lprops = &pnode->lprops[iip]; ubifs_lpt_scan_nolock() local 2261 struct ubifs_lprops *lp, *lprops = &pnode->lprops[i]; dbg_chk_pnode() local [all...] |
H A D | lpt_commit.c | 283 /* Make sure to place LPT's own lprops table */ in layout_cnodes() 485 /* Make sure to place LPT's own lprops table */ in write_cnodes() 763 struct ubifs_lprops *lprops; in populate_lsave() local 776 list_for_each_entry(lprops, &c->empty_list, list) { in populate_lsave() 777 c->lsave[cnt++] = lprops->lnum; in populate_lsave() 781 list_for_each_entry(lprops, &c->freeable_list, list) { in populate_lsave() 782 c->lsave[cnt++] = lprops->lnum; in populate_lsave() 786 list_for_each_entry(lprops, &c->frdi_idx_list, list) { in populate_lsave() 787 c->lsave[cnt++] = lprops->lnum; in populate_lsave() 1242 /* Copy the LPT's own lprops fo in ubifs_lpt_start_commit() 1967 struct ubifs_lprops *lprops; dbg_populate_lsave() local [all...] |
H A D | sb.c | 250 /* Calculate lprops statistics */ in create_default_filesystem() 823 struct ubifs_lprops *lprops; in fixup_free_space() local 872 lprops = ubifs_lpt_lookup(c, lnum); in fixup_free_space() 873 if (IS_ERR(lprops)) { in fixup_free_space() 874 err = PTR_ERR(lprops); in fixup_free_space() 878 if (lprops->free > 0) { in fixup_free_space() 879 err = fixup_leb(c, lnum, c->leb_size - lprops->free); in fixup_free_space()
|
H A D | ubifs.h | 475 * @list: list of same-category lprops (for LPROPS_EMPTY and LPROPS_FREEABLE) 476 * @hpos: heap position in heap of same-category lprops (other categories) 568 * @lprops: LEB properties array 577 struct ubifs_lprops lprops[UBIFS_LPT_FANOUT]; member 619 * struct ubifs_lpt_heap - heap of categorized lprops. 649 const struct ubifs_lprops *lprops, 1079 * @lpt_lebs: number of LEBs used for lprops table 1080 * @lpt_first: first LEB of the lprops table area 1081 * @lpt_last: last LEB of the lprops table area 1118 * @lst: lprops statistic [all...] |
H A D | debug.c | 784 ubifs_err(c, "cannot read lprops for LEB %d", lnum); in ubifs_dump_lprops() 915 struct ubifs_lprops *lprops = heap->arr[i]; in ubifs_dump_heap() local 918 i, lprops->lnum, lprops->hpos, lprops->free, in ubifs_dump_heap() 919 lprops->dirty, lprops->flags); in ubifs_dump_heap() 935 struct ubifs_lprops *lp = &pnode->lprops[i]; in ubifs_dump_pnode() 1003 * only when we read their lprops, and we do this only lazily, upon the in dbg_save_space_info() 1062 ubifs_msg(c, "saved lprops statistic in dbg_check_space_info() [all...] |
/kernel/linux/linux-6.6/fs/ubifs/ |
H A D | find.c | 13 * garbage collection. In general, lprops category heaps and lists are used 37 * @lprops: LEB properties 42 static int valuable(struct ubifs_info *c, const struct ubifs_lprops *lprops) in valuable() argument 44 int n, cat = lprops->flags & LPROPS_CAT_MASK; in valuable() 54 if (lprops->free + lprops->dirty >= c->dark_wm) in valuable() 74 * @lprops: LEB properties to scan 84 const struct ubifs_lprops *lprops, int in_tree, in scan_for_dirty_cb() 90 if (lprops->flags & LPROPS_TAKEN) in scan_for_dirty_cb() 93 if (!in_tree && valuable(c, lprops)) in scan_for_dirty_cb() 83 scan_for_dirty_cb(struct ubifs_info *c, const struct ubifs_lprops *lprops, int in_tree, struct scan_data *data) scan_for_dirty_cb() argument 128 const struct ubifs_lprops *lprops; scan_for_dirty() local 350 scan_for_free_cb(struct ubifs_info *c, const struct ubifs_lprops *lprops, int in_tree, struct scan_data *data) scan_for_free_cb() argument 399 const struct ubifs_lprops *lprops; do_find_free_space() local 484 const struct ubifs_lprops *lprops; ubifs_find_free_space() local 590 scan_for_idx_cb(struct ubifs_info *c, const struct ubifs_lprops *lprops, int in_tree, struct scan_data *data) scan_for_idx_cb() argument 623 const struct ubifs_lprops *lprops; scan_for_leb_for_idx() local 663 const struct ubifs_lprops *lprops; ubifs_find_free_leb_for_idx() local 783 scan_dirty_idx_cb(struct ubifs_info *c, const struct ubifs_lprops *lprops, int in_tree, struct scan_data *data) scan_dirty_idx_cb() argument 818 const struct ubifs_lprops *lprops; find_dirty_idx_leb() local [all...] |
H A D | lprops.c | 23 * @lprops: LEB properties 26 static int get_heap_comp_val(struct ubifs_lprops *lprops, int cat) in get_heap_comp_val() argument 30 return lprops->free; in get_heap_comp_val() 32 return lprops->free + lprops->dirty; in get_heap_comp_val() 34 return lprops->dirty; in get_heap_comp_val() 42 * @lprops: LEB properties to move 51 struct ubifs_lprops *lprops, int cat) in move_up_lpt_heap() 55 hpos = lprops->hpos; in move_up_lpt_heap() 58 val1 = get_heap_comp_val(lprops, ca in move_up_lpt_heap() 50 move_up_lpt_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, struct ubifs_lprops *lprops, int cat) move_up_lpt_heap() argument 87 adjust_lpt_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, struct ubifs_lprops *lprops, int hpos, int cat) adjust_lpt_heap() argument 166 add_to_lpt_heap(struct ubifs_info *c, struct ubifs_lprops *lprops, int cat) add_to_lpt_heap() argument 214 remove_from_lpt_heap(struct ubifs_info *c, struct ubifs_lprops *lprops, int cat) remove_from_lpt_heap() argument 261 ubifs_add_to_cat(struct ubifs_info *c, struct ubifs_lprops *lprops, int cat) ubifs_add_to_cat() argument 304 ubifs_remove_from_cat(struct ubifs_info *c, struct ubifs_lprops *lprops, int cat) ubifs_remove_from_cat() argument 373 ubifs_ensure_cat(struct ubifs_info *c, struct ubifs_lprops *lprops) ubifs_ensure_cat() argument 396 ubifs_categorize_lprops(const struct ubifs_info *c, const struct ubifs_lprops *lprops) ubifs_categorize_lprops() argument 436 change_category(struct ubifs_info *c, struct ubifs_lprops *lprops) change_category() argument 490 is_lprops_dirty(struct ubifs_info *c, struct ubifs_lprops *lprops) is_lprops_dirty() argument 529 struct ubifs_lprops *lprops = (struct ubifs_lprops *)lp; ubifs_change_lp() local 756 struct ubifs_lprops *lprops; ubifs_fast_find_free() local 780 struct ubifs_lprops *lprops; ubifs_fast_find_empty() local 803 struct ubifs_lprops *lprops; ubifs_fast_find_freeable() local 827 struct ubifs_lprops *lprops; ubifs_fast_find_frdi_idx() local 853 struct ubifs_lprops *lprops; dbg_check_cats() local 959 struct ubifs_lprops *lprops = heap->arr[i]; dbg_check_heap() local 1053 struct ubifs_lprops *lprops; scan_check_cb() local [all...] |
H A D | lpt.c | 351 pack_bits(c, &addr, &pos, pnode->lprops[i].free >> 3, in ubifs_pack_pnode() 353 pack_bits(c, &addr, &pos, pnode->lprops[i].dirty >> 3, in ubifs_pack_pnode() 355 if (pnode->lprops[i].flags & LPROPS_INDEX) in ubifs_pack_pnode() 400 * ubifs_pack_ltab - pack the LPT's own lprops table. 403 * @ltab: LPT's own lprops table to pack 641 /* Initialize LPT's own lprops */ in ubifs_create_dflt_lpt() 660 pnode->lprops[0].free = c->leb_size - iopos; in ubifs_create_dflt_lpt() 661 pnode->lprops[0].dirty = iopos - node_sz; in ubifs_create_dflt_lpt() 662 pnode->lprops[0].flags = LPROPS_INDEX; in ubifs_create_dflt_lpt() 666 pnode->lprops[ in ubifs_create_dflt_lpt() 986 struct ubifs_lprops * const lprops = &pnode->lprops[i]; unpack_pnode() local 1296 struct ubifs_lprops * const lprops = &pnode->lprops[i]; read_pnode() local 1376 struct ubifs_lprops *lprops; read_lsave() local 2040 struct ubifs_lprops * const lprops = &pnode->lprops[i]; scan_get_pnode() local 2132 struct ubifs_lprops *lprops = &pnode->lprops[iip]; ubifs_lpt_scan_nolock() local 2261 struct ubifs_lprops *lp, *lprops = &pnode->lprops[i]; dbg_chk_pnode() local [all...] |
H A D | lpt_commit.c | 283 /* Make sure to place LPT's own lprops table */ in layout_cnodes() 485 /* Make sure to place LPT's own lprops table */ in write_cnodes() 763 struct ubifs_lprops *lprops; in populate_lsave() local 776 list_for_each_entry(lprops, &c->empty_list, list) { in populate_lsave() 777 c->lsave[cnt++] = lprops->lnum; in populate_lsave() 781 list_for_each_entry(lprops, &c->freeable_list, list) { in populate_lsave() 782 c->lsave[cnt++] = lprops->lnum; in populate_lsave() 786 list_for_each_entry(lprops, &c->frdi_idx_list, list) { in populate_lsave() 787 c->lsave[cnt++] = lprops->lnum; in populate_lsave() 1242 /* Copy the LPT's own lprops fo in ubifs_lpt_start_commit() 1967 struct ubifs_lprops *lprops; dbg_populate_lsave() local [all...] |
H A D | sb.c | 253 /* Calculate lprops statistics */ in create_default_filesystem() 826 struct ubifs_lprops *lprops; in fixup_free_space() local 875 lprops = ubifs_lpt_lookup(c, lnum); in fixup_free_space() 876 if (IS_ERR(lprops)) { in fixup_free_space() 877 err = PTR_ERR(lprops); in fixup_free_space() 881 if (lprops->free > 0) { in fixup_free_space() 882 err = fixup_leb(c, lnum, c->leb_size - lprops->free); in fixup_free_space()
|
H A D | ubifs.h | 484 * @list: list of same-category lprops (for LPROPS_EMPTY and LPROPS_FREEABLE) 485 * @hpos: heap position in heap of same-category lprops (other categories) 577 * @lprops: LEB properties array 586 struct ubifs_lprops lprops[UBIFS_LPT_FANOUT]; member 628 * struct ubifs_lpt_heap - heap of categorized lprops. 658 const struct ubifs_lprops *lprops, 1100 * @lpt_lebs: number of LEBs used for lprops table 1101 * @lpt_first: first LEB of the lprops table area 1102 * @lpt_last: last LEB of the lprops table area 1139 * @lst: lprops statistic [all...] |
H A D | debug.c | 784 ubifs_err(c, "cannot read lprops for LEB %d", lnum); in ubifs_dump_lprops() 915 struct ubifs_lprops *lprops = heap->arr[i]; in ubifs_dump_heap() local 918 i, lprops->lnum, lprops->hpos, lprops->free, in ubifs_dump_heap() 919 lprops->dirty, lprops->flags); in ubifs_dump_heap() 935 struct ubifs_lprops *lp = &pnode->lprops[i]; in ubifs_dump_pnode() 1003 * only when we read their lprops, and we do this only lazily, upon the in dbg_save_space_info() 1062 ubifs_msg(c, "saved lprops statistic in dbg_check_space_info() [all...] |