/kernel/linux/linux-6.6/fs/f2fs/ |
H A D | segment.c | 2538 struct curseg_info *curseg = CURSEG_I(sbi, type); in f2fs_curseg_valid_blocks() local 2542 return curseg->next_blkoff; in f2fs_curseg_valid_blocks() 2600 struct curseg_info *curseg = CURSEG_I(sbi, type); in write_current_sum_page() local 2602 struct f2fs_summary_block *src = curseg->sum_blk; in write_current_sum_page() 2608 mutex_lock(&curseg->curseg_mutex); in write_current_sum_page() 2610 down_read(&curseg->journal_rwsem); in write_current_sum_page() 2611 memcpy(&dst->journal, curseg->journal, SUM_JOURNAL_SIZE); in write_current_sum_page() 2612 up_read(&curseg->journal_rwsem); in write_current_sum_page() 2617 mutex_unlock(&curseg->curseg_mutex); in write_current_sum_page() 2624 struct curseg_info *curseg, in in is_next_segment_free() 2623 is_next_segment_free(struct f2fs_sb_info *sbi, struct curseg_info *curseg, int type) is_next_segment_free() argument 2727 struct curseg_info *curseg = CURSEG_I(sbi, type); reset_curseg() local 2751 struct curseg_info *curseg = CURSEG_I(sbi, type); __get_next_segno() local 2789 struct curseg_info *curseg = CURSEG_I(sbi, type); new_curseg() local 2847 struct curseg_info *curseg = CURSEG_I(sbi, type); change_curseg() local 2883 struct curseg_info *curseg = CURSEG_I(sbi, type); get_atssr_segment() local 2902 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_ALL_DATA_ATGC); __f2fs_init_atgc_curseg() local 2927 struct curseg_info *curseg = CURSEG_I(sbi, type); __f2fs_save_inmem_curseg() local 2955 struct curseg_info *curseg = CURSEG_I(sbi, type); __f2fs_restore_inmem_curseg() local 2981 struct curseg_info *curseg = CURSEG_I(sbi, type); get_ssr_segment() local 3036 struct curseg_info *curseg = CURSEG_I(sbi, type); need_new_seg() local 3053 struct curseg_info *curseg = CURSEG_I(sbi, type); f2fs_allocate_segment_for_resize() local 3086 struct curseg_info *curseg = CURSEG_I(sbi, type); __allocate_new_segment() local 3417 struct curseg_info *curseg = CURSEG_I(sbi, type); f2fs_allocate_data_block() local 3699 struct curseg_info *curseg; f2fs_do_replace_block() local 3916 struct curseg_info *curseg; read_normal_summaries() local 4222 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_COLD_DATA); remove_sits_in_journal() local 4249 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_COLD_DATA); f2fs_flush_sit_entries() local 4543 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_COLD_DATA); build_sit_entries() local 4816 struct curseg_info *curseg = CURSEG_I(sbi, i); sanity_check_curseg() local [all...] |
H A D | recovery.c | 410 struct curseg_info *curseg; in find_fsync_dnodes() local 417 curseg = CURSEG_I(sbi, CURSEG_WARM_NODE); in find_fsync_dnodes() 418 blkaddr = NEXT_FREE_BLKADDR(sbi, curseg); in find_fsync_dnodes() 516 struct curseg_info *curseg = CURSEG_I(sbi, i); in check_index_in_prev_nodes() local 518 if (curseg->segno == segno) { in check_index_in_prev_nodes() 519 sum = curseg->sum_blk->entries[blkoff]; in check_index_in_prev_nodes() 786 struct curseg_info *curseg; in recover_data() local 793 curseg = CURSEG_I(sbi, CURSEG_WARM_NODE); in recover_data() 794 blkaddr = NEXT_FREE_BLKADDR(sbi, curseg); in recover_data()
|
H A D | debug.c | 188 struct curseg_info *curseg = CURSEG_I(sbi, i); in update_general_status() local 190 si->curseg[i] = curseg->segno; in update_general_status() 191 si->cursec[i] = GET_SEC_FROM_SEG(sbi, curseg->segno); in update_general_status() 267 /* build curseg */ in update_mem_info() 447 si->curseg[CURSEG_COLD_DATA], in stat_show() 454 si->curseg[CURSEG_WARM_DATA], in stat_show() 461 si->curseg[CURSEG_HOT_DATA], in stat_show() 468 si->curseg[CURSEG_HOT_NODE], in stat_show() 475 si->curseg[CURSEG_WARM_NOD in stat_show() [all...] |
H A D | segment.h | 89 #define NEXT_FREE_BLKADDR(sbi, curseg) \ 90 (START_BLOCK(sbi, (curseg)->segno) + (curseg)->next_blkoff) 733 struct curseg_info *curseg = CURSEG_I(sbi, type); in curseg_segno() local 734 return curseg->segno; in curseg_segno() 740 struct curseg_info *curseg = CURSEG_I(sbi, type); in curseg_alloc_type() local 741 return curseg->alloc_type; in curseg_alloc_type()
|
H A D | node.c | 550 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_HOT_DATA); in f2fs_get_node_info() local 551 struct f2fs_journal *journal = curseg->journal; in f2fs_get_node_info() 581 down_read(&curseg->journal_rwsem); in f2fs_get_node_info() 583 !down_read_trylock(&curseg->journal_rwsem)) { in f2fs_get_node_info() 593 up_read(&curseg->journal_rwsem); in f2fs_get_node_info() 2417 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_HOT_DATA); in scan_curseg_cache() local 2418 struct f2fs_journal *journal = curseg->journal; in scan_curseg_cache() 2421 down_read(&curseg->journal_rwsem); in scan_curseg_cache() 2433 up_read(&curseg->journal_rwsem); in scan_curseg_cache() 2885 struct curseg_info *curseg in remove_nats_in_journal() local 3013 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_HOT_DATA); __flush_nat_entry_set() local 3091 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_HOT_DATA); f2fs_flush_nat_entries() local [all...] |
H A D | checkpoint.c | 1471 struct curseg_info *curseg = CURSEG_I(sbi, i + CURSEG_HOT_NODE); in do_checkpoint() local 1473 ckpt->cur_node_segno[i] = cpu_to_le32(curseg->segno); in do_checkpoint() 1474 ckpt->cur_node_blkoff[i] = cpu_to_le16(curseg->next_blkoff); in do_checkpoint() 1475 ckpt->alloc_type[i + CURSEG_HOT_NODE] = curseg->alloc_type; in do_checkpoint() 1478 struct curseg_info *curseg = CURSEG_I(sbi, i + CURSEG_HOT_DATA); in do_checkpoint() local 1480 ckpt->cur_data_segno[i] = cpu_to_le32(curseg->segno); in do_checkpoint() 1481 ckpt->cur_data_blkoff[i] = cpu_to_le16(curseg->next_blkoff); in do_checkpoint() 1482 ckpt->alloc_type[i + CURSEG_HOT_DATA] = curseg->alloc_type; in do_checkpoint()
|
H A D | f2fs.h | 1041 struct f2fs_rwsem curseg_lock; /* for preventing curseg change */ 3942 int curseg[NR_CURSEG_TYPE]; member 4035 #define stat_inc_seg_type(sbi, curseg) \ 4036 ((sbi)->segment_count[(curseg)->alloc_type]++) 4037 #define stat_inc_block_count(sbi, curseg) \ 4038 ((sbi)->block_count[(curseg)->alloc_type]++) 4106 #define stat_inc_seg_type(sbi, curseg) do { } while (0) 4107 #define stat_inc_block_count(sbi, curseg) do { } while (0)
|
/kernel/linux/linux-5.10/fs/f2fs/ |
H A D | segment.c | 2498 struct curseg_info *curseg = CURSEG_I(sbi, type); in __add_sum_entry() local 2499 void *addr = curseg->sum_blk; in __add_sum_entry() 2500 addr += curseg->next_blkoff * sizeof(struct f2fs_summary); in __add_sum_entry() 2563 struct curseg_info *curseg = CURSEG_I(sbi, type); in write_current_sum_page() local 2565 struct f2fs_summary_block *src = curseg->sum_blk; in write_current_sum_page() 2571 mutex_lock(&curseg->curseg_mutex); in write_current_sum_page() 2573 down_read(&curseg->journal_rwsem); in write_current_sum_page() 2574 memcpy(&dst->journal, curseg->journal, SUM_JOURNAL_SIZE); in write_current_sum_page() 2575 up_read(&curseg->journal_rwsem); in write_current_sum_page() 2580 mutex_unlock(&curseg in write_current_sum_page() 2586 is_next_segment_free(struct f2fs_sb_info *sbi, struct curseg_info *curseg, int type) is_next_segment_free() argument 2690 struct curseg_info *curseg = CURSEG_I(sbi, type); reset_curseg() local 2714 struct curseg_info *curseg = CURSEG_I(sbi, type); __get_next_segno() local 2750 struct curseg_info *curseg = CURSEG_I(sbi, type); new_curseg() local 2827 struct curseg_info *curseg = CURSEG_I(sbi, type); change_curseg() local 2865 struct curseg_info *curseg = CURSEG_I(sbi, type); get_atssr_segment() local 2884 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_ALL_DATA_ATGC); __f2fs_init_atgc_curseg() local 2909 struct curseg_info *curseg = CURSEG_I(sbi, type); __f2fs_save_inmem_curseg() local 2937 struct curseg_info *curseg = CURSEG_I(sbi, type); __f2fs_restore_inmem_curseg() local 2963 struct curseg_info *curseg = CURSEG_I(sbi, type); get_ssr_segment() local 3024 struct curseg_info *curseg = CURSEG_I(sbi, type); allocate_segment_by_default() local 3051 struct curseg_info *curseg = CURSEG_I(sbi, type); f2fs_allocate_segment_for_resize() local 3084 struct curseg_info *curseg = CURSEG_I(sbi, type); __allocate_new_segment() local 3302 __has_curseg_space(struct f2fs_sb_info *sbi, struct curseg_info *curseg) __has_curseg_space() argument 3501 struct curseg_info *curseg = CURSEG_I(sbi, type); f2fs_allocate_data_block() local 3760 struct curseg_info *curseg; f2fs_do_replace_block() local 3968 struct curseg_info *curseg; read_normal_summaries() local 4275 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_COLD_DATA); remove_sits_in_journal() local 4302 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_COLD_DATA); f2fs_flush_sit_entries() local 4596 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_COLD_DATA); build_sit_entries() local 4852 struct curseg_info *curseg = CURSEG_I(sbi, i); sanity_check_curseg() local [all...] |
H A D | debug.c | 168 struct curseg_info *curseg = CURSEG_I(sbi, i); in update_general_status() local 169 si->curseg[i] = curseg->segno; in update_general_status() 170 si->cursec[i] = GET_SEC_FROM_SEG(sbi, curseg->segno); in update_general_status() 243 /* build curseg */ in update_mem_info() 356 si->curseg[CURSEG_COLD_DATA], in stat_show() 363 si->curseg[CURSEG_WARM_DATA], in stat_show() 370 si->curseg[CURSEG_HOT_DATA], in stat_show() 377 si->curseg[CURSEG_HOT_NODE], in stat_show() 384 si->curseg[CURSEG_WARM_NOD in stat_show() [all...] |
H A D | segment.h | 89 #define NEXT_FREE_BLKADDR(sbi, curseg) \ 90 (START_BLOCK(sbi, (curseg)->segno) + (curseg)->next_blkoff) 709 struct curseg_info *curseg = CURSEG_I(sbi, type); in curseg_segno() local 710 return curseg->segno; in curseg_segno() 716 struct curseg_info *curseg = CURSEG_I(sbi, type); in curseg_alloc_type() local 717 return curseg->alloc_type; in curseg_alloc_type() 722 struct curseg_info *curseg = CURSEG_I(sbi, type); in curseg_blkoff() local 723 return curseg->next_blkoff; in curseg_blkoff()
|
H A D | recovery.c | 333 struct curseg_info *curseg; in find_fsync_dnodes() local 342 curseg = CURSEG_I(sbi, CURSEG_WARM_NODE); in find_fsync_dnodes() 343 blkaddr = NEXT_FREE_BLKADDR(sbi, curseg); in find_fsync_dnodes() 450 struct curseg_info *curseg = CURSEG_I(sbi, i); in check_index_in_prev_nodes() local 451 if (curseg->segno == segno) { in check_index_in_prev_nodes() 452 sum = curseg->sum_blk->entries[blkoff]; in check_index_in_prev_nodes() 714 struct curseg_info *curseg; in recover_data() local 720 curseg = CURSEG_I(sbi, CURSEG_WARM_NODE); in recover_data() 721 blkaddr = NEXT_FREE_BLKADDR(sbi, curseg); in recover_data()
|
H A D | node.c | 521 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_HOT_DATA); in f2fs_get_node_info() local 522 struct f2fs_journal *journal = curseg->journal; in f2fs_get_node_info() 548 down_read(&curseg->journal_rwsem); in f2fs_get_node_info() 554 up_read(&curseg->journal_rwsem); in f2fs_get_node_info() 2330 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_HOT_DATA); in scan_curseg_cache() local 2331 struct f2fs_journal *journal = curseg->journal; in scan_curseg_cache() 2334 down_read(&curseg->journal_rwsem); in scan_curseg_cache() 2346 up_read(&curseg->journal_rwsem); in scan_curseg_cache() 2785 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_HOT_DATA); in remove_nats_in_journal() local 2786 struct f2fs_journal *journal = curseg in remove_nats_in_journal() 2878 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_HOT_DATA); __flush_nat_entry_set() local 2956 struct curseg_info *curseg = CURSEG_I(sbi, CURSEG_HOT_DATA); f2fs_flush_nat_entries() local [all...] |
H A D | f2fs.h | 980 struct rw_semaphore curseg_lock; /* for preventing curseg change */ 3600 int curseg[NR_CURSEG_TYPE]; member 3686 #define stat_inc_seg_type(sbi, curseg) \ 3687 ((sbi)->segment_count[(curseg)->alloc_type]++) 3688 #define stat_inc_block_count(sbi, curseg) \ 3689 ((sbi)->block_count[(curseg)->alloc_type]++) 3777 #define stat_inc_seg_type(sbi, curseg) do { } while (0) 3778 #define stat_inc_block_count(sbi, curseg) do { } while (0)
|