Lines Matching refs:super
33 struct logfs_super *super = logfs_super(sb); in no_free_segments() local
35 return super->s_free_list.count; in no_free_segments()
41 struct logfs_super *super = logfs_super(sb); in root_distance() local
50 return super->s_ifile_levels + super->s_iblock_levels - gc_level; in root_distance()
56 return super->s_ifile_levels - (gc_level - 6); in root_distance()
61 return super->s_ifile_levels + super->s_iblock_levels; in root_distance()
67 struct logfs_super *super = logfs_super(sb); in segment_is_reserved() local
73 reserved = btree_lookup32(&super->s_reserved_segments, segno); in segment_is_reserved()
79 area = super->s_area[i]; in segment_is_reserved()
127 struct logfs_super *super = logfs_super(sb); in logfs_gc_segment() local
137 btree_insert32(&super->s_reserved_segments, segno, (void *)1, GFP_NOFS); in logfs_gc_segment()
149 seg_ofs + sizeof(oh) < super->s_segsize; ) { in logfs_gc_segment()
160 cleaned = super->s_segsize - 1; in logfs_gc_segment()
178 btree_remove32(&super->s_reserved_segments, segno); in logfs_gc_segment()
228 struct logfs_super *super = logfs_super(sb); in free_candidate() local
230 btree_remove32(&super->s_cand_tree, cand->segno); in free_candidate()
270 struct logfs_super *super = logfs_super(sb); in __add_candidate() local
271 u32 full = super->s_segsize - LOGFS_SEGMENT_RESERVE; in __add_candidate()
278 cand = add_list(cand, &super->s_reserve_list); in __add_candidate()
283 cand = add_list(cand, &super->s_free_list); in __add_candidate()
288 cand = add_list(cand, &super->s_low_list[cand->dist]); in __add_candidate()
292 cand = add_list(cand, &super->s_ec_list); in __add_candidate()
301 struct logfs_super *super = logfs_super(sb); in add_candidate() local
313 btree_insert32(&super->s_cand_tree, segno, cand, GFP_NOFS); in add_candidate()
320 struct logfs_super *super = logfs_super(sb); in remove_segment_from_lists() local
323 cand = btree_lookup32(&super->s_cand_tree, segno); in remove_segment_from_lists()
366 struct logfs_super *super = logfs_super(sb); in get_candidate() local
373 this = first_in_list(&super->s_low_list[i]); in get_candidate()
386 struct logfs_super *super = logfs_super(sb); in __logfs_gc_once() local
401 segno, (u64)segno << super->s_segshift, in __logfs_gc_once()
403 super->s_free_bytes); in __logfs_gc_once()
424 struct logfs_super *super = logfs_super(sb); in logfs_scan_some() local
428 segno = super->s_sweeper; in logfs_scan_some()
431 if (segno >= super->s_no_segs) { in logfs_scan_some()
443 super->s_sweeper = segno; in logfs_scan_some()
458 struct logfs_super *super = logfs_super(sb); in __logfs_gc_pass() local
467 if (super->s_shadow_tree.no_shadowed_segments >= MAX_OBJ_ALIASES) in __logfs_gc_pass()
471 super->s_no_object_aliases < MAX_OBJ_ALIASES) in __logfs_gc_pass()
503 if (super->s_no_object_aliases < MAX_OBJ_ALIASES) in __logfs_gc_pass()
505 if (list_empty(&super->s_object_alias)) { in __logfs_gc_pass()
510 block = list_entry(super->s_object_alias.next, in __logfs_gc_pass()
526 struct logfs_super *super = logfs_super(sb); in wl_ratelimit() local
528 if (*next_event < super->s_gec) { in wl_ratelimit()
529 *next_event = super->s_gec + WL_RATELIMIT; in wl_ratelimit()
537 struct logfs_super *super = logfs_super(sb); in logfs_wl_pass() local
540 if (wl_ratelimit(sb, &super->s_wl_gec_ostore)) in logfs_wl_pass()
543 wl_cand = first_in_list(&super->s_ec_list); in logfs_wl_pass()
546 free_cand = first_in_list(&super->s_free_list); in logfs_wl_pass()
580 struct logfs_super *super = logfs_super(sb); in logfs_journal_wl_pass() local
585 if (wl_ratelimit(sb, &super->s_wl_gec_journal)) in logfs_journal_wl_pass()
588 if (super->s_reserve_list.count < super->s_no_journal_segs) { in logfs_journal_wl_pass()
594 if (super->s_journal_seg[i]) in logfs_journal_wl_pass()
596 super->s_journal_ec[i]); in logfs_journal_wl_pass()
597 cand = rb_entry(rb_first(&super->s_free_list.rb_tree), in logfs_journal_wl_pass()
602 u32 segno = seg_no(sb, super->s_sb_ofs[i]); in logfs_journal_wl_pass()
617 struct logfs_super *super = logfs_super(sb); in logfs_gc_pass() local
623 if (super->s_dirty_used_bytes + super->s_dirty_free_bytes in logfs_gc_pass()
624 + LOGFS_MAX_OBJECTSIZE >= super->s_free_bytes) in logfs_gc_pass()
626 __logfs_gc_pass(sb, super->s_total_levels); in logfs_gc_pass()
633 struct logfs_super *super = logfs_super(sb); in check_area() local
634 struct logfs_area *area = super->s_area[i]; in check_area()
643 if (super->s_devops->can_write_buf(sb, ofs) == 0) in check_area()
686 struct logfs_super *super = logfs_super(sb); in logfs_init_gc() local
689 btree_init_mempool32(&super->s_cand_tree, super->s_btree_pool); in logfs_init_gc()
690 logfs_init_candlist(&super->s_free_list, LIST_SIZE + SCAN_RATIO, 1); in logfs_init_gc()
691 logfs_init_candlist(&super->s_reserve_list, in logfs_init_gc()
692 super->s_bad_seg_reserve, 1); in logfs_init_gc()
694 logfs_init_candlist(&super->s_low_list[i], LIST_SIZE, 0); in logfs_init_gc()
695 logfs_init_candlist(&super->s_ec_list, LIST_SIZE, 1); in logfs_init_gc()
715 struct logfs_super *super = logfs_super(sb); in logfs_cleanup_gc() local
718 if (!super->s_free_list.count) in logfs_cleanup_gc()
726 btree_grim_visitor32(&super->s_cand_tree, 0, NULL); in logfs_cleanup_gc()
727 logfs_cleanup_list(sb, &super->s_free_list); in logfs_cleanup_gc()
728 logfs_cleanup_list(sb, &super->s_reserve_list); in logfs_cleanup_gc()
730 logfs_cleanup_list(sb, &super->s_low_list[i]); in logfs_cleanup_gc()
731 logfs_cleanup_list(sb, &super->s_ec_list); in logfs_cleanup_gc()