Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/btrfs/delayed-ref.c btrfs_destroy_delayed_refs() -> drop_delayed_ref()

Type Parameter Key Value
PARAM_VALUE 0 fs_info->sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 1 delayed_refs 4096-ptr_max
PARAM_VALUE 1 delayed_refs->lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 head 4096-ptr_max
PARAM_VALUE 2 head->lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 ref 1-u64max
BUF_SIZE 1 delayed_refs 296
DATA_SOURCE 2 head r find_first_ref_head
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 fs_info unit_byte
UNITS 3 ref unit_byte
LOCK2 1 &delayed_refs->lock
LOCK2 2 &head->lock
LOCK2 2 &head->mutex
TYPE_LOCK (struct btrfs_delayed_ref_head)->lock
TYPE_LOCK (struct btrfs_delayed_ref_head)->mutex
TYPE_LOCK (struct btrfs_delayed_ref_root)->lock

fs/btrfs/delayed-ref.c insert_delayed_ref() -> drop_delayed_ref()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->block_group_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->block_group_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->chunk_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->chunk_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->delayed_refs_rsv.space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->dev_replace.rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->dev_replace.rwsem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->dev_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->dev_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->discard_ctl.work.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 fs_info->discard_ctl.work.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 fs_info->discard_ctl.work.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 fs_info->quota_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->quota_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->remap_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->remap_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->transaction_kthread->delays->blkio_count 0-4294967295
PARAM_VALUE 0 fs_info->transaction_kthread->sched_class->uclamp_enabled 0-1
PARAM_VALUE 0 fs_info->transaction_kthread->sched_task_group->idle s32min-s32max
PARAM_VALUE 0 fs_info->tree_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->tree_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->uuid_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->uuid_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 1 delayed_refs 4096-ptr_max
PARAM_VALUE 2 head 4096-ptr_max
PARAM_VALUE 2 head->extent_op 0,4096-ptr_max
PARAM_VALUE 2 head->extent_op->flags_to_set 0,256
PARAM_VALUE 2 head->lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 head->ref_add_list.next->next 4096-ptr_max
PARAM_VALUE 2 head->ref_add_list.prev->next 4096-ptr_max
PARAM_VALUE 2 head->ref_add_list.prev->prev 4096-ptr_max
PARAM_VALUE 3 ref 4096-ptr_max
PARAM_VALUE 3 ref->ref_mod 0
BUF_SIZE 1 delayed_refs 296
DATA_SOURCE 2 head $1
DATA_SOURCE 3 ref r tree_insert
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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
NO_OVERFLOW_SIMPLE 2 head->bytenr
NO_OVERFLOW_SIMPLE 2 head->num_bytes
UNITS 0 fs_info unit_byte
LOCK2 &delayed_refs->lock
LOCK2 2 &head->lock
HALF_LOCKED2 &trans->transaction->cache_write_mutex
HALF_LOCKED2 &trans->transaction->delayed_refs.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
TYPE_LOCK (struct btrfs_delayed_ref_head)->lock
TYPE_LOCK (struct btrfs_delayed_ref_root)->lock

fs/btrfs/delayed-ref.c merge_ref() -> drop_delayed_ref()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_mod_log_lock.dep_map->name 0-255
PARAM_VALUE 1 delayed_refs 4096-ptr_max
PARAM_VALUE 2 head 4096-ptr_max
PARAM_VALUE 2 head->is_data 0
PARAM_VALUE 2 head->lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 ref 4096-ptr_max
BUF_SIZE 1 delayed_refs 296
CAPPED_DATA 2 head 1
CAPPED_DATA 3 ref->type 1
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 delayed_refs $1
DATA_SOURCE 2 head $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 fs_info unit_byte
UNITS 3 ref unit_byte
LOCK2 2 &head->lock
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &fs_info->reloc_mutex
HALF_LOCKED2 2 &head->mutex
TYPE_LOCK (struct btrfs_delayed_ref_head)->lock

fs/btrfs/delayed-ref.c merge_ref() -> drop_delayed_ref()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->delayed_refs_rsv.space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->tree_mod_log_lock.dep_map->name 0-255
PARAM_VALUE 1 delayed_refs 4096-ptr_max
PARAM_VALUE 2 head 4096-ptr_max
PARAM_VALUE 2 head->is_data 0
PARAM_VALUE 2 head->lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 head->ref_tree.rb_leftmost 0,4096-ptr_max
PARAM_VALUE 2 head->ref_tree.rb_leftmost->rb_left 0
PARAM_VALUE 2 head->ref_tree.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 3 ref 4096-ptr_max
PARAM_VALUE 3 ref->ref_mod 0
BUF_SIZE 1 delayed_refs 296
CAPPED_DATA 2 head 1
CAPPED_DATA 3 ref->type 1
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 delayed_refs $1
DATA_SOURCE 2 head $2
DATA_SOURCE 3 ref $3 [m]
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 fs_info unit_byte
UNITS 3 ref unit_byte
LOCK2 2 &head->lock
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &fs_info->reloc_mutex
HALF_LOCKED2 2 &head->mutex
TYPE_LOCK (struct btrfs_delayed_ref_head)->lock