Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

fs/f2fs/segment.c __replace_atomic_write_block() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 9222824055256219648
PARAM_VALUE 0 dn->cur_level 0
PARAM_VALUE 0 dn->inode 4096-ptr_max
PARAM_VALUE 0 dn->inode_folio 1-u64max
PARAM_VALUE 0 dn->max_level 0
PARAM_VALUE 1 count 1
MEM_ZERO 0 dn
NOCHECK_CALL
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 check_index_in_prev_nodes() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 8964673850683723776
PARAM_VALUE 0 dn->cur_level 0
PARAM_VALUE 0 dn->data_blkaddr 1-4294967294
PARAM_VALUE 0 dn->inode 4096-ptr_max
PARAM_VALUE 0 dn->inode_folio 1-u64max
PARAM_VALUE 0 dn->max_level 0
PARAM_VALUE 1 count 1
MEM_ZERO 0 dn
NOCHECK_CALL
LOCK2 &sbi->cp_global_sem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/recovery.c check_index_in_prev_nodes() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 8964673850683723776
PARAM_VALUE 0 dn->ofs_in_node 0-u16max
PARAM_VALUE 1 count 1
NOCHECK_CALL
LOCK2 &sbi->cp_global_sem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/recovery.c do_recover_data() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 6640892263497801728
PARAM_VALUE 1 count 1
MEM_ZERO 0 dn
NOCHECK_CALL
LOCK2 &sbi->cp_global_sem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/recovery.c do_recover_data() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 6640892263497801728
PARAM_VALUE 1 count 1
MEM_ZERO 0 dn
NOCHECK_CALL
LOCK2 &sbi->cp_global_sem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/inline.c f2fs_convert_inline_folio() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 6078007948475510784,8264148285849141248
PARAM_VALUE 0 dn->cur_level 0
PARAM_VALUE 0 dn->data_blkaddr 1-u32max
PARAM_VALUE 0 dn->inode 4096-ptr_max
PARAM_VALUE 0 dn->inode->i_ino 0-u32max
PARAM_VALUE 0 dn->inode->i_io_list.next->prev 4096-ptr_max
PARAM_VALUE 0 dn->inode->i_io_list.prev->next 4096-ptr_max
PARAM_VALUE 0 dn->inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dn->inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 dn->inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 dn->inode->i_sb 4096-ptr_max
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->alloc_valid_block_count.lock.dep_map->name 0-255
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->alloc_valid_block_count.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->gc_task->signal->curr_target->futex_state 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->gc_task->signal->curr_target->user_dumpable 0-1
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->gcblock->wasted_size 0
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nextblock->allocated_refs 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nextblock->bad_count s32min-s32max
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nextblock->dirty_size 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nextblock->free_size 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nextblock->offset 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nextblock->unchecked_size 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nextblock->used_size 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nextblock->wasted_size 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->available_nids 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->bitmap_size s32min-s32max
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->dirty_nats_ratio 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->max_nid 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->max_rf_node_blocks 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->nat_bits_blocks 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->nat_blkaddr 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->nat_blocks 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->nat_set_root.xa_flags 0,67108864-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->next_scan_nid 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->nid_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->ra_nid_pages 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->nm_info->ram_thresh 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->ns_segctor_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->ns_segctor_sem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->ns_segctor_sem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->ns_segctor_sem.first_waiter->list.prev->next 2212933610777083904
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->ns_segctor_sem.first_waiter->type 0-1
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->raw_super->feature 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->s_es->s_error_count 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->s_es->s_first_error_time 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->s_es->s_first_error_time_hi 0-255
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->s_es->s_free_blocks_count_hi 0
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->s_es->s_free_blocks_count_lo 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->s_es->s_last_error_time 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->s_es->s_last_error_time_hi 0-255
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->s_es->s_wtime 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->s_es->s_wtime_hi 0-255
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio 0
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_end_io 6431644242391375872
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->b_count.counter s32min-s32max
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->completion.requeue 0
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->completion.result s32min-s32max
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->context->thread_id 0-255
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->magic 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->remaining.counter s32min-s32max
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->work.flags 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->work.is_hard 0-1
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->work.is_lazy 0-1
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->work.is_queued 0-1
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_private->work.is_soft 0-1
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_jdesc->jd_log_bio->bi_status 1-255
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_log_flush_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_log_flush_lock.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_log_flush_lock.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_log_flush_lock.first_waiter->type 0-1
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_log_ordered.next->next 0
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_log_tr->tr_buf.next->next 0
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sd_log_tr->tr_databuf.next->next 0
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->ipu_policy 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->main_blkaddr 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->main_segments 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->min_fsync_blocks 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->min_hot_blocks 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->min_ipu_util 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->min_seq_blocks 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->min_ssr_sections 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->ovp_segments 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->rec_prefree_segments 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->reserved_segments 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->seg0_blkaddr 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->segment_count 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->sm_info->ssa_blkaddr 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->stat_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->summary->sum_buf->v32 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->summary->sum_num 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->summary->sum_padded 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->summary->sum_size 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->wbuf_dwork.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->wbuf_dwork.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->wbuf_dwork.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->wbuf_inodes->ino 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->wbuf_sem.first_waiter->list.prev->next 2624917664208203776
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->xref_dead_list->ic 0-4294967295
PARAM_VALUE 0 dn->inode->i_sb->s_fs_info->xref_dead_list->xd 0-4294967295
PARAM_VALUE 0 dn->inode->i_wb->dwork.timer.is_hard 0-1
PARAM_VALUE 0 dn->inode->i_wb->dwork.timer.is_lazy 0-1
PARAM_VALUE 0 dn->inode->i_wb->dwork.timer.is_queued 0-1
PARAM_VALUE 0 dn->inode->i_wb->dwork.timer.is_soft 0-1
PARAM_VALUE 0 dn->inode->i_wb->dwork.timer.node.node.next 0
PARAM_VALUE 0 dn->inode->i_wb->dwork.timer.node.node.prev 0
PARAM_VALUE 0 dn->inode->i_wb->dwork.work.entry.pprev 0
PARAM_VALUE 0 dn->inode->i_wb->dwork.work.flags 0-4294967295
PARAM_VALUE 0 dn->inode->i_wb->dwork.work.function 1626621062881370112
PARAM_VALUE 0 dn->inode->i_wb->dwork.work.is_hard 0-1
PARAM_VALUE 0 dn->inode->i_wb->dwork.work.is_lazy 0-1
PARAM_VALUE 0 dn->inode->i_wb->dwork.work.is_queued 0-1
PARAM_VALUE 0 dn->inode->i_wb->dwork.work.is_soft 0-1
PARAM_VALUE 0 dn->inode->i_wb->dwork.work.node.node.next 0
PARAM_VALUE 0 dn->inode->i_wb->dwork.work.node.node.prev 0
PARAM_VALUE 0 dn->inode->i_wb->dwork.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 dn->inode->i_wb->dwork.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 dn->inode->i_wb->dwork.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 dn->inode->i_wb->list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dn->max_level 0
PARAM_VALUE 1 count 1
DATA_SOURCE 0 dn $0
MEM_ZERO 0 dn
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem

fs/f2fs/file.c __clone_blkaddrs() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 265096310918152192
PARAM_VALUE 1 count 1
MEM_ZERO 0 dn
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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

fs/f2fs/file.c f2fs_do_truncate_blocks() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 6681830472720252928
PARAM_VALUE 0 dn->cur_level 0
PARAM_VALUE 0 dn->inode 4096-ptr_max
PARAM_VALUE 0 dn->inode_folio 1-u64max
PARAM_VALUE 0 dn->max_level 0
PARAM_VALUE 1 count 0-s32max
FUZZY_MAX 1 count 0
MEM_ZERO 0 dn
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem

fs/f2fs/file.c f2fs_truncate_hole() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 4461753725800804352
PARAM_VALUE 0 dn->cur_level 0
PARAM_VALUE 0 dn->inode 4096-ptr_max
PARAM_VALUE 0 dn->inode_folio 1-u64max
PARAM_VALUE 0 dn->max_level 0
CAPPED_DATA 1 count 1
MEM_ZERO 0 dn
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 count 2-s32max[c]
UNITS 1 count unit_page
HALF_LOCKED2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/node.c f2fs_remove_inode_page() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 316336227795755008
PARAM_VALUE 0 dn->cur_level 0
PARAM_VALUE 0 dn->inode 4096-ptr_max
PARAM_VALUE 0 dn->inode_folio 1-u64max
PARAM_VALUE 0 dn->max_level 0
PARAM_VALUE 1 count 1
MEM_ZERO 0 dn
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &sbi->cp_rwsem.internal_rwsem
TYPE_LOCK (struct f2fs_rwsem)->internal_rwsem

fs/f2fs/node.c truncate_dnode() -> f2fs_truncate_data_blocks_range()

Type Parameter Key Value
PARAM_VALUE 0 dn 1127933624591466496,1990562217863278592
PARAM_VALUE 0 dn->inode 4096-ptr_max
PARAM_VALUE 0 dn->inode->i_ino 0-u32max
PARAM_VALUE 0 dn->inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 dn->inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 dn->inode->i_sb 4096-ptr_max
PARAM_VALUE 0 dn->nid 1-u32max
PARAM_VALUE 0 dn->node_folio 4096-ptr_max
PARAM_VALUE 0 dn->ofs_in_node 0
PARAM_VALUE 0 *dn->node_folio->_mm_id 0-4294967295
CAPPED_DATA 0 dn->inode->i_ino 1
CAPPED_DATA 0 dn->nid 1
CAPPED_DATA 1 count 1
DATA_SOURCE 0 dn $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL