Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/f2fs/gc.c gc_thread_func() -> f2fs_gc()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->gc_lock.sbi 4096-ptr_max
PARAM_VALUE 0 sbi->meta_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->node_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 sbi->raw_super 4096-ptr_max
PARAM_VALUE 0 sbi->sb 4096-ptr_max
PARAM_VALUE 0 sbi->sb->s_writers.frozen 0
PARAM_VALUE 1 gc_control 5067174407293825024
PARAM_VALUE 1 gc_control->init_gc_type 0-1
PARAM_VALUE 1 gc_control->nr_free_secs 0-1
BUF_SIZE 0 sbi 128
BUF_SIZE 0 sbi 128
DATA_SOURCE 0 sbi $0
TASK_NOT_RUNNING
LOCK2 0 &sbi->gc_lock.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/segment.c f2fs_balance_fs() -> f2fs_gc()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->cp_rwsem.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->cp_rwsem.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.dep_map->name 0-255
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 0 sbi->gc_lock.sbi 4096-ptr_max
PARAM_VALUE 0 sbi->io_order_lock.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->io_order_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->meta_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->node_change.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->node_change.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->node_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 sbi->node_write.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->node_write.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->raw_super 4096-ptr_max
PARAM_VALUE 0 sbi->sb_lock.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->sb_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 gc_control 3670198474773352448
PARAM_VALUE 1 gc_control->err_gc_skipped 0
PARAM_VALUE 1 gc_control->init_gc_type 0-1
PARAM_VALUE 1 gc_control->no_bg_gc 1
PARAM_VALUE 1 gc_control->nr_free_secs 1
PARAM_VALUE 1 gc_control->one_time 0
PARAM_VALUE 1 gc_control->should_migrate_blocks 0
PARAM_VALUE 1 gc_control->victim_segno u32max
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
DATA_SOURCE 0 sbi $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 sbi unit_byte
LOCK2 0 &sbi->gc_lock.internal_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &src->i_rwsem
HALF_LOCKED2 0 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/file.c __f2fs_ioc_gc_range() -> f2fs_gc()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->gc_lock.sbi 4096-ptr_max
PARAM_VALUE 1 gc_control 3638032790236905472
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
DATA_SOURCE 0 sbi r F2FS_I_SB
CAPABLE 0 21
USER_DATA 1 gc_control->err_gc_skipped 0-1
LOCK2 0 &sbi->gc_lock.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/file.c f2fs_expand_inode_data() -> f2fs_gc()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->adjust_lock_priority 0-4294967295
PARAM_VALUE 0 sbi->alloc_valid_block_count.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 sbi->alloc_valid_block_count.lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 sbi->allocate_section_hint 0-4294967295
PARAM_VALUE 0 sbi->allocate_section_policy 0-4294967295
PARAM_VALUE 0 sbi->bggc_io_aware 0-4294967295
PARAM_VALUE 0 sbi->blkzone_alloc_policy 0-4294967295
PARAM_VALUE 0 sbi->blocks_per_blkz 0-4294967295
PARAM_VALUE 0 sbi->blocks_per_seg 0-4294967295
PARAM_VALUE 0 sbi->blocksize 0-4294967295
PARAM_VALUE 0 sbi->compr_new_inode 0-4294967295
PARAM_VALUE 0 sbi->compress_percent 0-4294967295
PARAM_VALUE 0 sbi->compress_watermark 0-4294967295
PARAM_VALUE 0 sbi->cp_rwsem.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->cp_rwsem.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->cur_victim_sec 0-4294967295
PARAM_VALUE 0 sbi->current_reserved_blocks 0-4294967295
PARAM_VALUE 0 sbi->data_io_flag 0-4294967295
PARAM_VALUE 0 sbi->dirty_device 0-4294967295
PARAM_VALUE 0 sbi->discard_blks 0-4294967295
PARAM_VALUE 0 sbi->donate_files 0-4294967295
PARAM_VALUE 0 sbi->entries_in_sum 0-4294967295
PARAM_VALUE 0 sbi->first_seq_zone_segno 0-4294967295
PARAM_VALUE 0 sbi->flush_lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 sbi->fsync_node_num 0-4294967295
PARAM_VALUE 0 sbi->fsync_seg_id 0-4294967295
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.dep_map->name 0-255
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 0 sbi->gc_lock.sbi 4096-ptr_max
PARAM_VALUE 0 sbi->gc_mode 0-4294967295
PARAM_VALUE 0 sbi->gc_remaining_trials 0-4294967295
PARAM_VALUE 0 sbi->gc_segment_mode 0-4294967295
PARAM_VALUE 0 sbi->hot_data_age_threshold 0-4294967295
PARAM_VALUE 0 sbi->io_skip_bggc 0-4294967295
PARAM_VALUE 0 sbi->iostat_period_ms 0-4294967295
PARAM_VALUE 0 sbi->last_age_weight 0-4294967295
PARAM_VALUE 0 sbi->last_valid_block_count 0-4294967295
PARAM_VALUE 0 sbi->lock_duration_priority 0-4294967295
PARAM_VALUE 0 sbi->log_blocks_per_seg 0-4294967295
PARAM_VALUE 0 sbi->log_blocksize 0-4294967295
PARAM_VALUE 0 sbi->log_sectors_per_block 0-4294967295
PARAM_VALUE 0 sbi->max_io_bytes 0-4294967295
PARAM_VALUE 0 sbi->max_open_zones 0-4294967295
PARAM_VALUE 0 sbi->max_orphans 0-4294967295
PARAM_VALUE 0 sbi->max_read_extent_count 0-4294967295
PARAM_VALUE 0 sbi->max_victim_search 0-4294967295
PARAM_VALUE 0 sbi->meta_ino_num 0-4294967295
PARAM_VALUE 0 sbi->meta_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 sbi->migration_granularity 0-4294967295
PARAM_VALUE 0 sbi->migration_window_granularity 0-4294967295
PARAM_VALUE 0 sbi->nat_journal_entries 0-4294967295
PARAM_VALUE 0 sbi->nm_info->available_nids 0-4294967295
PARAM_VALUE 0 sbi->nm_info->dirty_nats_ratio 0-4294967295
PARAM_VALUE 0 sbi->nm_info->max_nid 0-4294967295
PARAM_VALUE 0 sbi->nm_info->max_rf_node_blocks 0-4294967295
PARAM_VALUE 0 sbi->nm_info->nat_bits_blocks 0-4294967295
PARAM_VALUE 0 sbi->nm_info->nat_blkaddr 0-4294967295
PARAM_VALUE 0 sbi->nm_info->nat_blocks 0-4294967295
PARAM_VALUE 0 sbi->nm_info->nat_root.xa_flags 0-4294967295
PARAM_VALUE 0 sbi->nm_info->nat_set_root.xa_flags 0-4294967295
PARAM_VALUE 0 sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->nm_info->next_scan_nid 0-4294967295
PARAM_VALUE 0 sbi->nm_info->ra_nid_pages 0-4294967295
PARAM_VALUE 0 sbi->nm_info->ram_thresh 0-4294967295
PARAM_VALUE 0 sbi->node_ino_num 0-4294967295
PARAM_VALUE 0 sbi->node_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 sbi->node_io_flag 0-4294967295
PARAM_VALUE 0 sbi->nquota_files 0-4294967295
PARAM_VALUE 0 sbi->other_skip_bggc 0-4294967295
PARAM_VALUE 0 sbi->page_array_slab_size 0-4294967295
PARAM_VALUE 0 sbi->pin_sem.internal_rwsem.dep_map->name 0-255
PARAM_VALUE 0 sbi->pin_sem.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->pin_sem.internal_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 sbi->pin_sem.internal_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 sbi->pin_sem.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->pin_sem.internal_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 0 sbi->reserved_blocks 0-4294967295
PARAM_VALUE 0 sbi->reserved_pin_section 0-4294967295
PARAM_VALUE 0 sbi->rf_node_block_count.lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 sbi->root_ino_num 0-4294967295
PARAM_VALUE 0 sbi->s_chksum_seed 0-4294967295
PARAM_VALUE 0 sbi->secs_per_zone 0-4294967295
PARAM_VALUE 0 sbi->segs_per_sec 0-4294967295
PARAM_VALUE 0 sbi->seq_file_ra_mul 0-4294967295
PARAM_VALUE 0 sbi->shrinker_run_no 0-4294967295
PARAM_VALUE 0 sbi->sit_journal_entries 0-4294967295
PARAM_VALUE 0 sbi->sm_info->ipu_policy 0-4294967295
PARAM_VALUE 0 sbi->sm_info->main_blkaddr 0-4294967295
PARAM_VALUE 0 sbi->sm_info->main_segments 0-4294967295
PARAM_VALUE 0 sbi->sm_info->min_fsync_blocks 0-4294967295
PARAM_VALUE 0 sbi->sm_info->min_hot_blocks 0-4294967295
PARAM_VALUE 0 sbi->sm_info->min_ipu_util 0-4294967295
PARAM_VALUE 0 sbi->sm_info->min_seq_blocks 0-4294967295
PARAM_VALUE 0 sbi->sm_info->min_ssr_sections 0-4294967295
PARAM_VALUE 0 sbi->sm_info->ovp_segments 0-4294967295
PARAM_VALUE 0 sbi->sm_info->rec_prefree_segments 0-4294967295
PARAM_VALUE 0 sbi->sm_info->reserved_segments 0-4294967295
PARAM_VALUE 0 sbi->sm_info->seg0_blkaddr 0-4294967295
PARAM_VALUE 0 sbi->sm_info->segment_count 0-4294967295
PARAM_VALUE 0 sbi->sm_info->ssa_blkaddr 0-4294967295
PARAM_VALUE 0 sbi->sum_blocksize 0-4294967295
PARAM_VALUE 0 sbi->sum_entry_size 0-4294967295
PARAM_VALUE 0 sbi->sum_journal_size 0-4294967295
PARAM_VALUE 0 sbi->sums_per_block 0-4294967295
PARAM_VALUE 0 sbi->total_node_count 0-4294967295
PARAM_VALUE 0 sbi->total_sections 0-4294967295
PARAM_VALUE 0 sbi->total_valid_block_count 0-4294967295
PARAM_VALUE 0 sbi->total_valid_node_count 0-4294967295
PARAM_VALUE 0 sbi->unusable_block_count 0-4294967295
PARAM_VALUE 0 sbi->unusable_blocks_per_sec 0-4294967295
PARAM_VALUE 0 sbi->user_block_count 0-4294967295
PARAM_VALUE 0 sbi->warm_data_age_threshold 0-4294967295
PARAM_VALUE 0 *sbi->next_victim_seg 0-4294967295
PARAM_VALUE 1 gc_control 7769626630549172224
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sbi unit_byte
LOCK2 &inode->i_rwsem
LOCK2 0 &sbi->gc_lock.internal_rwsem
LOCK2 0 &sbi->pin_sem.internal_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/f2fs/file.c f2fs_ioc_flush_device() -> f2fs_gc()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->gc_lock.sbi 4096-ptr_max
PARAM_VALUE 1 gc_control 1934074704368820224
PARAM_VALUE 1 gc_control->victim_segno 0-4294967294
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
CAPABLE 0 21
UNITS 0 sbi unit_byte
LOCK2 0 &sbi->gc_lock.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/file.c f2fs_ioc_gc() -> f2fs_gc()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.dep_map->name 0-255
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 0 sbi->gc_lock.sbi 4096-ptr_max
PARAM_VALUE 0 sbi->sb 4096-ptr_max
PARAM_VALUE 1 gc_control 115870300038639616
PARAM_VALUE 1 gc_control->init_gc_type 0-1
PARAM_VALUE 1 gc_control->no_bg_gc 0
PARAM_VALUE 1 gc_control->nr_free_secs 0
PARAM_VALUE 1 gc_control->one_time 0
PARAM_VALUE 1 gc_control->should_migrate_blocks 0
PARAM_VALUE 1 gc_control->victim_segno u32max
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
CAPABLE 0 21
USER_DATA 1 gc_control->err_gc_skipped 0-1
UNITS 0 sbi unit_byte
LOCK2 0 &sbi->gc_lock.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/super.c f2fs_disable_checkpoint() -> f2fs_gc()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.dep_map->name 0-255
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 0 sbi->gc_lock.sbi 4096-ptr_max
PARAM_VALUE 0 sbi->meta_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 sbi->raw_super->feature 2-u32max
PARAM_VALUE 0 sbi->sb->s_flags 0,1073741824-u64max
PARAM_VALUE 1 gc_control 2649147194507554816
PARAM_VALUE 1 gc_control->err_gc_skipped 1
PARAM_VALUE 1 gc_control->init_gc_type 1
PARAM_VALUE 1 gc_control->no_bg_gc 1
PARAM_VALUE 1 gc_control->nr_free_secs 1
PARAM_VALUE 1 gc_control->one_time 0
PARAM_VALUE 1 gc_control->should_migrate_blocks 0
PARAM_VALUE 1 gc_control->victim_segno u32max
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
DATA_SOURCE 0 sbi $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sbi unit_byte
LOCK2 0 &sbi->gc_lock.internal_rwsem
HALF_LOCKED2 &fc->uapi_mutex
HALF_LOCKED2 &sb->s_umount
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem