Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/btrfs/delayed-ref.c add_delayed_ref() -> add_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 trans 4096-ptr_max
PARAM_VALUE 0 trans->fs_info 4096-ptr_max
PARAM_VALUE 0 trans->fs_info->block_group_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->block_group_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->chunk_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->chunk_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->dev_replace.rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->dev_replace.rwsem.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->dev_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->dev_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->quota_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->quota_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->remap_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->remap_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->stripe_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->stripe_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->transaction_kthread->sched_class->uclamp_enabled 0-1
PARAM_VALUE 0 trans->fs_info->tree_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->tree_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->uuid_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->uuid_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->transaction->delayed_refs.head_refs.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 trans->transaction->delayed_refs.lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 head_ref 4096-ptr_max
PARAM_VALUE 1 head_ref->extent_op 0,4096-ptr_max
PARAM_VALUE 1 head_ref->extent_op->flags_to_set 0,256
PARAM_VALUE 1 head_ref->processing 0
PARAM_VALUE 1 head_ref->ref_add_list.next 4096-ptr_max
PARAM_VALUE 1 head_ref->ref_add_list.next->next 4096-ptr_max
PARAM_VALUE 1 head_ref->ref_add_list.prev 4096-ptr_max
PARAM_VALUE 1 head_ref->ref_add_list.prev->next 4096-ptr_max
PARAM_VALUE 1 head_ref->ref_add_list.prev->prev 4096-ptr_max
PARAM_VALUE 1 head_ref->ref_mod (-1)-1
PARAM_VALUE 1 head_ref->refs.refs.counter 1
PARAM_VALUE 1 head_ref->reserved_bytes 0-s32max,18446744071562067968-u64max
PARAM_VALUE 1 head_ref->total_ref_mod (-1)-1
PARAM_VALUE 1 head_ref->tracked 0
PARAM_VALUE 2 qrecord 0,4096-ptr_max
PARAM_VALUE 2 qrecord->data_rsv 1-u32max
PARAM_VALUE 2 qrecord->data_rsv_refroot 1-u64max
PARAM_VALUE 2 qrecord->old_roots 0
PARAM_VALUE 3 action 1-3
PARAM_VALUE 4 qrecord_inserted_ret 5737148109839163392
BUF_SIZE 0 trans (-1)-s32max
BUF_SIZE 0 trans (-1)-s32max
BUF_SIZE 0 trans->block_rsv (-1)-0,120
BUF_SIZE 0 trans->pending_snapshot (-1),208
BUF_SIZE 0 trans->transaction (-1),1240
BUF_SIZE 2 qrecord 0,32
BUF_SIZE 2 qrecord 0,32
DATA_SOURCE 0 trans $0
DATA_SOURCE 1 head_ref r kmem_cache_alloc_noprof
STR_LEN 0 trans (-1)-1010101
STR_LEN 0 trans (-1)-1010101
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 trans->block_rsv->space_info->bytes_may_use
NO_OVERFLOW_SIMPLE 0 trans->fs_info->chunk_root->dirty_log_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 trans->fs_info->chunk_root->dirty_log_pages.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 0 trans->fs_info->stripe_root->dirty_log_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 trans->fs_info->stripe_root->dirty_log_pages.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 0 trans->fs_info->tree_root->dirty_log_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 trans->fs_info->tree_root->dirty_log_pages.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 0 trans->transaction->dirty_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 trans->transaction->dirty_pages.inode->vfs_inode.i_bytes
NO_OVERFLOW_SIMPLE 0 trans->transaction->dirty_pages.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 0 trans->transaction->pinned_extents.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 trans->transaction->pinned_extents.inode->vfs_inode.i_bytes
NO_OVERFLOW_SIMPLE 0 trans->transaction->pinned_extents.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 1 head_ref->bytenr
NO_OVERFLOW_SIMPLE 1 head_ref->num_bytes
NO_OVERFLOW_SIMPLE 2 qrecord->num_bytes
USER_PTR 0 trans->pending_snapshot->inherit
LOCK2 &delayed_refs->lock
HALF_LOCKED2 0 &trans->fs_info->chunk_mutex
HALF_LOCKED2 0 &trans->fs_info->commit_root_sem
HALF_LOCKED2 0 &trans->fs_info->fs_devices->device_list_mutex
HALF_LOCKED2 0 &trans->fs_info->fs_roots_radix_lock
HALF_LOCKED2 0 &trans->fs_info->qgroup_ioctl_lock
HALF_LOCKED2 0 &trans->fs_info->qgroup_lock
HALF_LOCKED2 0 &trans->fs_info->unused_bg_unpin_mutex
HALF_LOCKED2 0 &trans->transaction->cache_write_mutex
HALF_LOCKED2 0 &trans->transaction->delayed_refs.lock
TYPE_LOCK (struct btrfs_delayed_ref_root)->lock

fs/btrfs/delayed-ref.c btrfs_add_delayed_extent_op() -> add_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 trans 4096-ptr_max
PARAM_VALUE 0 trans->fs_info 4096-ptr_max
PARAM_VALUE 0 trans->fs_info->block_group_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->block_group_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->chunk_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->chunk_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->dev_replace.rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->dev_replace.rwsem.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->dev_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->dev_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->quota_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->quota_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->remap_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->remap_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->stripe_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->stripe_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->transaction_kthread->sched_class->uclamp_enabled 0-1
PARAM_VALUE 0 trans->fs_info->tree_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->tree_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->fs_info->uuid_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 trans->fs_info->uuid_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 trans->transaction->delayed_refs.head_refs.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 trans->transaction->delayed_refs.lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 head_ref 4096-ptr_max
PARAM_VALUE 1 head_ref->extent_op 4096-ptr_max
PARAM_VALUE 1 head_ref->extent_op->flags_to_set 256
PARAM_VALUE 1 head_ref->extent_op->update_flags 1
PARAM_VALUE 1 head_ref->extent_op->update_key 0
PARAM_VALUE 1 head_ref->owning_root 0
PARAM_VALUE 1 head_ref->processing 0
PARAM_VALUE 1 head_ref->ref_add_list.next 4096-ptr_max
PARAM_VALUE 1 head_ref->ref_add_list.next->next 4096-ptr_max
PARAM_VALUE 1 head_ref->ref_add_list.prev 4096-ptr_max
PARAM_VALUE 1 head_ref->ref_add_list.prev->next 4096-ptr_max
PARAM_VALUE 1 head_ref->ref_add_list.prev->prev 4096-ptr_max
PARAM_VALUE 1 head_ref->ref_mod (-1)-1
PARAM_VALUE 1 head_ref->refs.refs.counter 1
PARAM_VALUE 1 head_ref->reserved_bytes 0
PARAM_VALUE 1 head_ref->total_ref_mod (-1)-1
PARAM_VALUE 1 head_ref->tracked 0
PARAM_VALUE 2 qrecord 0
PARAM_VALUE 3 action 4
PARAM_VALUE 4 qrecord_inserted_ret 0
BUF_SIZE 0 trans (-1),1-s32max
BUF_SIZE 0 trans (-1),1-s32max
BUF_SIZE 0 trans->block_rsv (-1),120
DATA_SOURCE 0 trans $0
DATA_SOURCE 1 head_ref r kmem_cache_alloc_noprof
STR_LEN 0 trans (-1)-1010101
STR_LEN 0 trans (-1)-1010101
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 trans->fs_info->chunk_root->dirty_log_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 trans->fs_info->chunk_root->dirty_log_pages.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 0 trans->fs_info->stripe_root->dirty_log_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 trans->fs_info->stripe_root->dirty_log_pages.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 0 trans->fs_info->tree_root->dirty_log_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 trans->fs_info->tree_root->dirty_log_pages.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 0 trans->transaction->dirty_pages.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 trans->transaction->dirty_pages.inode->vfs_inode.i_bytes
NO_OVERFLOW_SIMPLE 0 trans->transaction->dirty_pages.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 0 trans->transaction->pinned_extents.inode->disk_i_size
NO_OVERFLOW_SIMPLE 0 trans->transaction->pinned_extents.inode->vfs_inode.i_bytes
NO_OVERFLOW_SIMPLE 0 trans->transaction->pinned_extents.inode->vfs_inode.i_size
NO_OVERFLOW_SIMPLE 1 head_ref->bytenr
NO_OVERFLOW_SIMPLE 1 head_ref->num_bytes
USER_PTR 0 trans->pending_snapshot->inherit
LOCK2 &delayed_refs->lock
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 0 &trans->fs_info->commit_root_sem
HALF_LOCKED2 0 &trans->fs_info->fs_devices->device_list_mutex
HALF_LOCKED2 0 &trans->fs_info->fs_roots_radix_lock
HALF_LOCKED2 0 &trans->fs_info->qgroup_ioctl_lock
HALF_LOCKED2 0 &trans->fs_info->qgroup_lock
HALF_LOCKED2 0 &trans->fs_info->unused_bg_unpin_mutex
HALF_LOCKED2 0 &trans->transaction->delayed_refs.lock
TYPE_LOCK (struct btrfs_delayed_ref_root)->lock