Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/f2fs/segment.c f2fs_allocate_segment_for_resize() -> get_ssr_segment()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->cp_global_sem.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->cp_global_sem.internal_rwsem.first_waiter->type 0-1
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.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->next_victim_seg 4096-ptr_max
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_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->quota_sem.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->quota_sem.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->sb->s_bdi->wb_switch_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->sb->s_bdi->wb_switch_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->sb->s_cop->inode_info_offs 1632,1640,1720,1808,2632,2648,2704,2712
PARAM_VALUE 0 sbi->sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 sbi->stat_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 *sbi->next_victim_seg 0-4294967295
PARAM_VALUE 1 type 0-5
PARAM_VALUE 2 alloc_mode 1
PARAM_VALUE 3 age 0
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
DATA_SOURCE 0 sbi $0
DATA_SOURCE 1 type $1
FUZZY_MAX 1 type 5
CAPABLE 0 21
HARD_MAX 1 type 5
LOCK2 &curseg->curseg_mutex
LOCK2 0 &sbi->gc_lock.internal_rwsem
HALF_LOCKED2 0 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 0 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct curseg_info)->curseg_mutex
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/segment.c get_atssr_segment() -> get_ssr_segment()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->cp_global_sem.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->cp_global_sem.internal_rwsem.first_waiter->type 0-1
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.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->gc_lock.internal_rwsem.first_waiter->type 0-1
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,2712
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,2712
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->pin_sem.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->pin_sem.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->quota_sem.internal_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->quota_sem.internal_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->sb->s_bdi->wb_switch_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->sb->s_bdi->wb_switch_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 sbi->sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 sbi->sb->s_umount.first_waiter->type 0-1
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 type 7
PARAM_VALUE 2 alloc_mode 1-2
BUF_SIZE 0 sbi (-1),1-s32max
BUF_SIZE 0 sbi (-1),1-s32max
DATA_SOURCE 0 sbi $0
DATA_SOURCE 1 type $1
DATA_SOURCE 2 alloc_mode $3
DATA_SOURCE 3 age $4
HARD_MAX 2 alloc_mode 2
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sbi unit_byte
LOCK2 &curseg->curseg_mutex
HALF_LOCKED2 &sit_i->sentry_lock
HALF_LOCKED2 0 &sbi->cp_global_sem.internal_rwsem
HALF_LOCKED2 0 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 0 &sbi->gc_lock.internal_rwsem
HALF_LOCKED2 0 &sbi->io_order_lock.internal_rwsem
HALF_LOCKED2 0 &sbi->pin_sem.internal_rwsem
HALF_LOCKED2 0 &sbi->umount_mutex
TYPE_LOCK (struct curseg_info)->curseg_mutex

fs/f2fs/segment.c need_new_seg() -> get_ssr_segment()

Type Parameter Key Value
PARAM_VALUE 0 sbi 4096-ptr_max
PARAM_VALUE 0 sbi->block_count 4096-ptr_max
PARAM_VALUE 0 sbi->blocks_per_seg 1-u32max
PARAM_VALUE 0 sbi->io_order_lock.internal_rwsem.first_waiter->type 0-1
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->raw_super 4096-ptr_max
PARAM_VALUE 0 sbi->raw_super->feature 2-u32max
PARAM_VALUE 0 *sbi->page_eio_cnt s32min-s32max
PARAM_VALUE 1 type s32min-6,8-s32max
PARAM_VALUE 2 alloc_mode 1
PARAM_VALUE 3 age 0
BUF_SIZE 0 sbi 1-s32max
BUF_SIZE 0 sbi 1-s32max
CAPPED_DATA 0 sbi->blocks_per_seg 1
DATA_SOURCE 0 sbi $0
DATA_SOURCE 1 type $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 sbi unit_byte
LOCK2 &curseg->curseg_mutex
LOCK2 &sit_i->sentry_lock
HALF_LOCKED2 &sbi->gc_lock.internal_rwsem
HALF_LOCKED2 0 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 0 &sbi->io_order_lock.internal_rwsem
TYPE_LOCK (struct curseg_info)->curseg_mutex
TYPE_LOCK (struct sit_info)->sentry_lock