Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/ext4/indirect.c ext4_ind_truncate_ensure_credits() -> ext4_blocks_for_truncate()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
CAPPED_DATA 0 inode 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $1
NOSPEC 0 inode->i_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_blocks 0-18014398515341359,18428729675200069633-u64max
USER_DATA 0 inode->i_bytes 0-65023[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-9223372036854775806
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_data.host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
HALF_LOCKED2 0 &inode->i_rwsem

fs/ext4/indirect.c ext4_ind_truncate_ensure_credits() -> ext4_blocks_for_truncate()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 0 inode->i_sb->s_fs_info 4096-ptr_max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_bal_2orders.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_bal_allocated.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_bal_breaks.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_bal_ex_scanned.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_bal_goals.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_bal_groups_scanned.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_bal_len_goals.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_bal_reqs.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_bal_stream_goals.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_bal_success.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_dirs_counter.lock.magic 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_dirs_counter.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_dirs_counter.lock.raw_lock.locked 0-255
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_dirs_counter.lock.raw_lock.locked_pending 0-u16max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_dirs_counter.lock.raw_lock.pending 0-255
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_dirs_counter.lock.raw_lock.tail 0-u16max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_dirtyclusters_counter.lock.magic 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_dirtyclusters_counter.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_ea_inode_work.cpu s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_ea_inode_work.timer.flags 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_err_ratelimit_state.burst s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_err_ratelimit_state.flags 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_err_ratelimit_state.interval s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_err_ratelimit_state.lock.magic 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_err_ratelimit_state.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_err_ratelimit_state.missed.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_error_notify_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_replay_state.fc_crc s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_replay_state.fc_cur_tag s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_replay_state.fc_current_pass s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_replay_state.fc_modified_inodes_size s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_replay_state.fc_modified_inodes_used s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_replay_state.fc_regions_size s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_replay_state.fc_regions_used s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_replay_state.fc_regions_valid s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_replay_state.fc_replay_expected_off s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_replay_state.fc_replay_num_tags s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_fc_subtid.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_freeclusters_counter.lock.magic 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_freeclusters_counter.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_freeinodes_counter.lock.magic 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_freeinodes_counter.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj.kref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj.release.cpu s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj.release.timer.flags 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj.state_add_uevent_sent 0-1
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj.state_in_sysfs 0-1
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj.state_initialized 0-1
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj.state_remove_uevent_sent 0-1
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj.uevent_suppress 0-1
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj_unregister.done 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj_unregister.wait.lock.magic 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_kobj_unregister.wait.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_lock_busy.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_mb_buddies_generated.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_mb_discarded.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_mb_free_pending.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_mb_lost_chunks.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_mb_preallocated.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_msg_count.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_msg_ratelimit_state.burst s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_msg_ratelimit_state.flags 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_msg_ratelimit_state.interval s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_msg_ratelimit_state.lock.magic 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_msg_ratelimit_state.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_msg_ratelimit_state.missed.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_orphan_info.of_blocks s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_orphan_info.of_csum_seed 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_orphan_lock.osq.tail.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_resgid.val 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_resuid.val 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_retry_alloc_pending.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_warning_count.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_warning_ratelimit_state.burst s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_warning_ratelimit_state.flags 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_warning_ratelimit_state.interval s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_warning_ratelimit_state.lock.magic 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_warning_ratelimit_state.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_writepages_rwsem.block.counter s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_writepages_rwsem.rss.gp_count s32min-s32max
PARAM_VALUE 0 inode->i_sb->s_fs_info->s_writepages_rwsem.rss.gp_state s32min-s32max
CAPPED_DATA 0 inode 1
CAPPED_DATA 0 inode->i_ino 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $1
NOSPEC 0 inode->i_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_blocks 0-18014398515341359,18428729675200069633-u64max
USER_DATA 0 inode->i_bytes 0-65023[c]
USER_DATA 0 inode->i_sb->s_fs_info->s_first_error_block s64min-s64max[c]
USER_DATA 0 inode->i_sb->s_fs_info->s_first_error_ino 0-4294967295
USER_DATA 0 inode->i_size (-9223372036854775807)-9223372036854775806
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_data.host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
HALF_LOCKED2 0 &inode->i_rwsem

fs/ext4/inode.c ext4_evict_inode() -> ext4_blocks_for_truncate()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
CAPPED_DATA 0 inode 1
CAPPED_DATA 0 inode->i_data.i_pages.xa_head 1
CAPPED_DATA 0 &inode->i_data 1
DATA_SOURCE 0 inode $0
BIT_INFO 0 inode->i_flags 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes

fs/ext4/inode.c ext4_punch_hole() -> ext4_blocks_for_truncate()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
CAPPED_DATA 0 inode 1
CAPPED_DATA 0 inode->i_mapping 1
CAPPED_DATA 0 inode->i_mapping->i_pages.xa_head 1
CAPPED_DATA 0 inode->i_sb 1
CAPPED_DATA 0 inode->i_size 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_sb->s_fs_info->s_first_error_block s64min-s64max[c]
USER_DATA 0 inode->i_sb->s_fs_info->s_first_error_ino 0-4294967295
LOCK2 &inode->i_rwsem
LOCK2 &mapping->invalidate_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct address_space)->invalidate_lock
TYPE_LOCK (struct inode)->i_rwsem