Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 3 files:
Smatch caller information:
fs/f2fs/segment.c __replace_atomic_write_block() -> f2fs_replace_block()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->nm_info | 4096-ptr_max |
| 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->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | dn | 9222824055256219648 |
| PARAM_VALUE | 1 | dn->inode | 4096-ptr_max |
| PARAM_VALUE | 1 | dn->inode_folio | 1-u64max |
| PARAM_VALUE | 3 | new_addr | 1-4294967293 |
| PARAM_VALUE | 5 | recover_curseg | 1 |
| PARAM_VALUE | 6 | recover_newaddr | 1 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| DATA_SOURCE | 3 | new_addr | $2 |
| MEM_ZERO | 1 | dn | |
| NOCHECK_CALL | |||
| UNITS | 0 | sbi | unit_byte |
| UNITS | 2 | old_addr | unit_page |
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/segment.c __replace_atomic_write_block() -> f2fs_replace_block()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->alloc_valid_block_count.lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sbi->current_reserved_blocks | 1-u32max |
| PARAM_VALUE | 0 | sbi->nm_info | 4096-ptr_max |
| 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->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | sbi->stat_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sbi->total_valid_block_count | 0-4294967294 |
| PARAM_VALUE | 1 | dn | 9222824055256219648 |
| PARAM_VALUE | 3 | new_addr | 1-4294967293 |
| PARAM_VALUE | 5 | recover_curseg | 1 |
| PARAM_VALUE | 6 | recover_newaddr | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| CAPPED_DATA | 0 | sbi->reserved_blocks | 1 |
| CAPPED_DATA | 3 | new_addr | 1 |
| DATA_SOURCE | 3 | new_addr | $2 |
| MEM_ZERO | 1 | dn | |
| NOCHECK_CALL | |||
| UNITS | 0 | sbi | unit_byte |
| UNITS | 2 | old_addr | unit_page |
| LOCK2 | &inode->i_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |
fs/f2fs/recovery.c do_recover_data() -> f2fs_replace_block()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->cp_global_sem.internal_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sbi->cp_global_sem.internal_rwsem.first_waiter->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | sbi->cp_global_sem.internal_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | sbi->cp_global_sem.internal_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | sbi->cp_global_sem.internal_rwsem.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | sbi->cp_global_sem.sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->iostat_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sbi->meta_inode | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->nm_info | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->nm_info->nat_entries.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->nm_info->nat_entries.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->nm_info->nat_list_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_set_root.xa_flags | 0,67108864-u32max |
| 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->list.next | 2624917664208203776 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->list.prev | 2624917664208203776 |
| PARAM_VALUE | 0 | sbi->nm_info->nat_tree_lock.internal_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | sbi->sb | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->sb->s_fs_info->error_dirty | 0-1 |
| PARAM_VALUE | 0 | sbi->stat_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sbi->total_valid_inode_count.lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | sbi->total_valid_inode_count.lock.owner | (-1) |
| PARAM_VALUE | 0 | sbi->total_valid_inode_count.lock.owner_cpu | u32max |
| PARAM_VALUE | 1 | dn | 6640892263497801728 |
| PARAM_VALUE | 3 | new_addr | 1-4294967294 |
| PARAM_VALUE | 5 | recover_curseg | 0 |
| PARAM_VALUE | 6 | recover_newaddr | 0 |
| CAPPED_DATA | 0 | sbi->sb | 1 |
| CAPPED_DATA | 2 | old_addr | 1 |
| CAPPED_DATA | 3 | new_addr | 1 |
| DATA_SOURCE | 0 | sbi | $0 |
| DATA_SOURCE | 2 | old_addr | r f2fs_data_blkaddr |
| DATA_SOURCE | 3 | new_addr | r data_blkaddr |
| PARAM_COMPARE | 2 | old_addr | != $3 |
| PARAM_COMPARE | 3 | new_addr | != $2 |
| MEM_ZERO | 1 | dn | |
| NOCHECK_CALL | |||
| UNITS | 3 | new_addr | unit_page |
| LOCK2 | 0 | &sbi->cp_global_sem.internal_rwsem | |
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem |
fs/f2fs/file.c __clone_blkaddrs() -> f2fs_replace_block()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | sbi | 4096-ptr_max |
| PARAM_VALUE | 0 | sbi->adjust_lock_priority | 0-4294967295 |
| 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->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->fsync_node_num | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->fsync_seg_id | 0-4294967295 |
| 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->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 | 4096-ptr_max |
| 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_ino_num | 0-4294967295 |
| 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->reserved_blocks | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->reserved_pin_section | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->root_ino_num | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->s_chksum_seed | 0-4294967295 |
| PARAM_VALUE | 0 | sbi->sb->s_bdev->bd_dev | 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->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 | 1 | dn | 265096310918152192 |
| PARAM_VALUE | 5 | recover_curseg | 1 |
| PARAM_VALUE | 6 | recover_newaddr | 0 |
| BUF_SIZE | 0 | sbi | 1-s32max |
| BUF_SIZE | 0 | sbi | 1-s32max |
| MEM_ZERO | 1 | dn | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | sbi | unit_byte |
| UNITS | 2 | old_addr | unit_page |
| LOCK2 | &dst_inode->i_rwsem | ||
| LOCK2 | &sbi->cp_rwsem.internal_rwsem | ||
| LOCK2 | &src_inode->i_rwsem | ||
| HALF_LOCKED2 | &dst_inode->i_mapping->invalidate_lock | ||
| HALF_LOCKED2 | &mapping->invalidate_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &src_inode->i_mapping->invalidate_lock | ||
| TYPE_LOCK | (struct address_space)->invalidate_lock | ||
| TYPE_LOCK | (struct f2fs_rwsem)->internal_rwsem | ||
| TYPE_LOCK | (struct inode)->i_rwsem |