Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/btrfs/inode.c evict_refill_and_join() -> btrfs_calc_delayed_ref_bytes()

Type Parameter Key Value
PARAM_VALUE 1 num_delayed_refs 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte

fs/btrfs/block-rsv.c btrfs_update_global_block_rsv() -> btrfs_calc_delayed_ref_bytes()

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

fs/btrfs/transaction.c start_transaction() -> btrfs_calc_delayed_ref_bytes()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 1 num_delayed_refs s32min-(-1),1-s32max
DATA_SOURCE 1 num_delayed_refs $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte

fs/btrfs/extent-tree.c btrfs_run_delayed_refs_for_head() -> btrfs_calc_delayed_ref_bytes()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 1 num_delayed_refs 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &fs_info->reloc_mutex

fs/btrfs/delayed-ref.c btrfs_delayed_refs_rsv_refill() -> btrfs_calc_delayed_ref_bytes()

Type Parameter Key Value
PARAM_VALUE 1 num_delayed_refs 1
DATA_SOURCE 0 fs_info $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &dev_replace->lock_finishing_cancel_unmount
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 &fs_info->subvol_sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock

fs/btrfs/delayed-ref.c btrfs_delayed_refs_rsv_release() -> btrfs_calc_delayed_ref_bytes()

Type Parameter Key Value
PARAM_VALUE 1 num_delayed_refs 0-1
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 num_delayed_refs $1
HARD_MAX 1 num_delayed_refs 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 &delayed_refs->lock
HALF_LOCKED2 &existing->lock
HALF_LOCKED2 &head->lock
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_update_delayed_refs_rsv() -> btrfs_calc_delayed_ref_bytes()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &trans->fs_info->commit_root_sem
HALF_LOCKED2 &trans->fs_info->fs_devices->device_list_mutex
HALF_LOCKED2 &trans->fs_info->fs_roots_radix_lock
HALF_LOCKED2 &trans->fs_info->qgroup_ioctl_lock
HALF_LOCKED2 &trans->fs_info->qgroup_lock
HALF_LOCKED2 &trans->fs_info->unused_bg_unpin_mutex
HALF_LOCKED2 &trans->transaction->delayed_refs.lock