Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/btrfs/extent-tree.c btrfs_lookup_extent_info() -> btrfs_put_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->mutex.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 head->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 head->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 head->mutex.wait_lock.dep_map->name 0-255
CAPPED_DATA 0 &head->mutex 1
DATA_SOURCE 0 head r btrfs_find_delayed_ref_head
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &eb->lock
HALF_LOCKED2 &fs_info->cleaner_mutex

fs/btrfs/extent-tree.c check_delayed_ref() -> btrfs_put_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->mutex.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 head->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 head->mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 head->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 head->mutex.wait_lock.dep_map->name 0-255
CAPPED_DATA 0 &head->mutex 1
DATA_SOURCE 0 head r btrfs_find_delayed_ref_head
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/extent-tree.c check_ref_cleanup() -> btrfs_put_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->extent_op 0
PARAM_VALUE 0 head->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 head->mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 head->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 head->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 head->processing 0
PARAM_VALUE 0 head->tracked 0
CAPPED_DATA 0 &head->mutex 1
DATA_SOURCE 0 head r btrfs_find_delayed_ref_head
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &buf->lock
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 &fs_info->qgroup_ioctl_lock
HALF_LOCKED2 &fs_info->subvol_sem
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

fs/btrfs/extent-tree.c check_ref_exists() -> btrfs_put_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->mutex.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 head->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 head->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 head->mutex.wait_lock.dep_map->name 0-255
CAPPED_DATA 0 &head->mutex 1
DATA_SOURCE 0 head r btrfs_find_delayed_ref_head
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs_info->cleaner_mutex
HALF_LOCKED2 &next->lock
HALF_LOCKED2 &node->lock
TYPE_LOCK (struct btrfs_fs_info)->cleaner_mutex
TYPE_LOCK (struct extent_buffer)->lock

fs/btrfs/extent-tree.c cleanup_ref_head() -> btrfs_put_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->extent_op 0
PARAM_VALUE 0 head->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 head->tracked 0
CAPPED_DATA 0 head 1
DATA_SOURCE 0 head $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fs_info->reloc_mutex

fs/btrfs/tests/delayed-refs-tests.c delete_delayed_ref_head() -> btrfs_put_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->bytenr 0
PARAM_VALUE 0 head->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 head->must_insert_reserved 0
PARAM_VALUE 0 head->num_bytes 0-u32max
PARAM_VALUE 0 head->processing 1
PARAM_VALUE 0 head->ref_mod (-2)-2
PARAM_VALUE 0 head->total_ref_mod (-2)-2
PARAM_VALUE 0 head->tracked 0
CAPPED_DATA 0 head 1
CAPPED_DATA 0 head->num_bytes 1
CAPPED_DATA 0 head->ref_mod 1
CAPPED_DATA 0 head->total_ref_mod 1
DATA_SOURCE 0 head $1
NOCHECK_CALL

fs/btrfs/backref.c find_parent_nodes() -> btrfs_put_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->mutex.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 head->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 head->mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 head->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 head->mutex.wait_lock.dep_map->name 0-255
CAPPED_DATA 0 &head->mutex 1
DATA_SOURCE 0 head r btrfs_find_delayed_ref_head
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/delayed-ref.c btrfs_delayed_ref_lock() -> btrfs_put_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->mutex.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 head->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 head->mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 head->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 head->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 head->tracked 0
CAPPED_DATA 0 &head->mutex 1
DATA_SOURCE 0 head $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &delayed_refs->lock
TYPE_LOCK (struct btrfs_delayed_ref_root)->lock

fs/btrfs/delayed-ref.c btrfs_delayed_ref_lock() -> btrfs_put_delayed_ref_head()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->mutex.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 head->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 head->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 head->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 head->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 head->tracked 1
CAPPED_DATA 0 &head->mutex 1
DATA_SOURCE 0 head $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &delayed_refs->lock
LOCK2 0 &head->mutex
TYPE_LOCK (struct btrfs_delayed_ref_head)->mutex
TYPE_LOCK (struct btrfs_delayed_ref_root)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_VALUE 0 head->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 head->mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 head->mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 head->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 head->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 head->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 head->tracked 0
CAPPED_DATA 0 head->extent_op 1
CAPPED_DATA 0 &head->mutex 1
DATA_SOURCE 0 head r find_first_ref_head
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL