Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

fs/btrfs/delayed-inode.c btrfs_delayed_inode_reserve_metadata() -> btrfs_calc_metadata_size()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 1 num_items 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
LOCK2 &node->mutex
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &trans->transaction->cache_write_mutex
TYPE_LOCK (struct btrfs_delayed_node)->mutex

fs/btrfs/inode.c btrfs_evict_inode() -> btrfs_calc_metadata_size()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 1 num_items 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte

fs/btrfs/block-rsv.c btrfs_check_trunc_cache_free_space() -> btrfs_calc_metadata_size()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 1 num_items 1
DATA_SOURCE 0 fs_info $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &fs_info->cleaner_mutex

fs/btrfs/block-group.c btrfs_reserve_chunk_metadata() -> btrfs_calc_metadata_size()

Type Parameter Key Value
PARAM_VALUE 1 num_items 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 &sb->s_umount
HALF_LOCKED2 global &uuid_mutex

fs/btrfs/block-group.c check_system_chunk() -> btrfs_calc_metadata_size()

Type Parameter Key Value
DATA_SOURCE 1 num_items r get_profile_num_devs
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
LOCK2 &fs_info->chunk_mutex
HALF_LOCKED2 &fs_info->ro_block_group_mutex
TYPE_LOCK (struct btrfs_fs_info)->chunk_mutex

fs/btrfs/delalloc-space.c btrfs_calculate_inode_block_rsv_size() -> btrfs_calc_metadata_size()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 1 num_items 1
DATA_SOURCE 0 fs_info $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
LOCK2 &inode->lock
TYPE_LOCK (struct btrfs_inode)->lock

fs/btrfs/delalloc-space.c calc_inode_reservations() -> btrfs_calc_metadata_size()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 0,4096-ptr_max
PARAM_VALUE 1 num_items 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &inode->vfs_inode.i_rwsem

fs/btrfs/extent-tree.c btrfs_calc_delayed_ref_csum_bytes() -> btrfs_calc_metadata_size()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 num_items $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &head->mutex

fs/btrfs/delayed-ref.c btrfs_calc_delayed_ref_csum_bytes() -> btrfs_calc_metadata_size()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 num_items $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 fs_info->chunk_root->dirty_log_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 fs_info->chunk_root->dirty_log_pages.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 0 fs_info->stripe_root->dirty_log_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 fs_info->stripe_root->dirty_log_pages.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 0 fs_info->tree_root->dirty_log_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 fs_info->tree_root->dirty_log_pages.inode->vfs_inode.i_size
UNITS 0 fs_info unit_byte
HALF_LOCKED2 0 &fs_info->chunk_mutex
HALF_LOCKED2 0 &fs_info->commit_root_sem
HALF_LOCKED2 0 &fs_info->fs_devices->device_list_mutex
HALF_LOCKED2 0 &fs_info->fs_roots_radix_lock
HALF_LOCKED2 0 &fs_info->qgroup_ioctl_lock
HALF_LOCKED2 0 &fs_info->qgroup_lock
HALF_LOCKED2 0 &fs_info->unused_bg_unpin_mutex

fs/btrfs/delayed-ref.c btrfs_dec_delayed_refs_rsv_bg_updates() -> btrfs_calc_metadata_size()

Type Parameter Key Value
PARAM_VALUE 1 num_items 1
DATA_SOURCE 0 fs_info $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &trans->transaction->cache_write_mutex

fs/btrfs/delayed-ref.c btrfs_inc_delayed_refs_rsv_bg_updates() -> btrfs_calc_metadata_size()

Type Parameter Key Value
PARAM_VALUE 1 num_items 1
DATA_SOURCE 0 fs_info $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
LOCK2 &delayed_rsv->lock
HALF_LOCKED2 &fs_info->remap_mutex
HALF_LOCKED2 0 &fs_info->remap_mutex
TYPE_LOCK (struct btrfs_block_rsv)->lock