Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
fs/f2fs/segment.c __allocate_new_segment() -> locate_dirty_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_lock.rlock.dep_map->name | 0-255 |
| 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->error_lock.rlock.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->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->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->s_error_work.entry.next->prev | 4096-ptr_max |
| 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->segment_count | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->stop_reason_dirty | 1 |
| PARAM_VALUE | 0 | *sbi->next_victim_seg | 0-4294967295 |
| PARAM_VALUE | 0 | *sbi->page_eio_cnt | s32min-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | sbi | unit_byte |
| 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->pin_sem.internal_rwsem | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/segment.c f2fs_allocate_data_block() -> locate_dirty_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->meta_inode->i_sb->s_cop->inode_info_offs | 1632,1720,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,2632,2648 |
| 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 |
| 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 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 |
fs/f2fs/segment.c f2fs_allocate_data_block() -> locate_dirty_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->meta_inode->i_sb->s_cop->inode_info_offs | 1632,1720,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,2632,2648 |
| 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 |
| 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 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 |
fs/f2fs/segment.c f2fs_allocate_segment_for_resize() -> locate_dirty_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->s_error_work.entry.next->prev | 4096-ptr_max |
| 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->segment_count | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->stat_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | *sbi->next_victim_seg | 0-4294967295 |
| PARAM_VALUE | 0 | *sbi->page_eio_cnt | s32min-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 1 | segno | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| CAPABLE | 0 | 21 | |
| NOCHECK_CALL | |||
| 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 f2fs_do_replace_block() -> locate_dirty_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->cp_global_sem.internal_rwsem.first_waiter->type | 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.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->handoff_set | 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->page_eio_cnt | s32min-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &curseg->curseg_mutex | ||
| LOCK2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.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 |
fs/f2fs/segment.c f2fs_do_replace_block() -> locate_dirty_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->cp_global_sem.internal_rwsem.first_waiter->type | 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.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->handoff_set | 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->page_eio_cnt | s32min-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &curseg->curseg_mutex | ||
| LOCK2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.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 |
fs/f2fs/segment.c f2fs_do_replace_block() -> locate_dirty_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->cp_global_sem.internal_rwsem.first_waiter->type | 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.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->handoff_set | 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->page_eio_cnt | s32min-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| BUF_SIZE | 0 | sbi | (-1),1-s32max |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &curseg->curseg_mutex | ||
| LOCK2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | &sbi->gc_lock.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_global_sem.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 |
fs/f2fs/segment.c f2fs_invalidate_blocks() -> locate_dirty_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->compress_inode | 0,4096-ptr_max |
| PARAM_VALUE | 0 | sbi->meta_inode | 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->page_eio_cnt | s32min-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 0 | sbi->meta_inode | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | sbi | unit_byte |
| LOCK2 | &sit_i->sentry_lock | ||
| HALF_LOCKED2 | &inode->i_rwsem | ||
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | &sbi->cp_rwsem.internal_rwsem | ||
| HALF_LOCKED2 | 0 | &sbi->cp_rwsem.internal_rwsem | |
| HALF_LOCKED2 | 0 | &sbi->node_write.internal_rwsem | |
| TYPE_LOCK | (struct sit_info)->sentry_lock |
fs/f2fs/segment.c f2fs_reserve_device_alias() -> locate_dirty_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| DATA_SOURCE | 0 | sbi | $0 |
| NOCHECK_CALL | |||
| LOCK2 | &sit_i->sentry_lock | ||
| TYPE_LOCK | (struct sit_info)->sentry_lock |