Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

fs/btrfs/volumes.c balance_remap_chunks() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->pinned 0
PARAM_VALUE 0 bg->remap_bytes 0
PARAM_VALUE 0 bg->reserved 0
PARAM_VALUE 0 bg->used 0
NOCHECK_CALL

fs/btrfs/scrub.c scrub_enumerate_chunks() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 bg->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->reserved 0
PARAM_VALUE 0 bg->ro 0
PARAM_VALUE 0 bg->used 0
DATA_SOURCE 0 bg r btrfs_lookup_block_group
NOCHECK_CALL

fs/btrfs/free-space-cache.c __btrfs_add_free_space_zoned() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->data_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bg->data_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 bg->free_space_ctl 4096-ptr_max
PARAM_VALUE 0 bg->free_space_ctl->tree_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bg->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 bg->fs_info->sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 bg->fs_info->zone_size 1-u64max
PARAM_VALUE 0 bg->lock.rlock.dep_map->name 0-255
BUF_SIZE 0 bg->fs_info (-1),11312
CAPPED_DATA 0 bg 1
CAPPED_DATA 0 bg->length 1
CAPPED_DATA 0 bg->zone_unusable 1
DATA_SOURCE 0 bg $0
PARAM_COMPARE 0 bg->length == $0->zone_unusable
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 bg->alloc_offset
NO_OVERFLOW_SIMPLE 0 bg->fs_info->nodesize
NO_OVERFLOW_SIMPLE 0 bg->fs_info->sectorsize
NO_OVERFLOW_SIMPLE 0 bg->full_stripe_len
LOCK2 0 &bg->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &space_info->groups_sem
TYPE_LOCK (struct btrfs_block_group)->lock

fs/btrfs/free-space-cache.c btrfs_trim_fully_remapped_block_group() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->bg_list.next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->unused_bgs_lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 &bg->bg_list 1
DATA_SOURCE 0 bg $0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/btrfs/relocation.c adjust_block_group_remap_bytes() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->remap_bytes 0
PARAM_VALUE 0 bg->used 0
DATA_SOURCE 0 bg $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs_info->remap_mutex
TYPE_LOCK (struct btrfs_fs_info)->remap_mutex

fs/btrfs/block-group.c btrfs_create_pending_block_groups() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->pinned 0
PARAM_VALUE 0 bg->remap_bytes 0
PARAM_VALUE 0 bg->reserved 0
PARAM_VALUE 0 bg->space_info->block_group_kobjs 4096-ptr_max
PARAM_VALUE 0 bg->used 0
CAPPED_DATA 0 bg 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/block-group.c btrfs_reclaim_block_group() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->fs_info 4096-ptr_max
PARAM_VALUE 0 bg->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->pinned 0
PARAM_VALUE 0 bg->reserved 0
PARAM_VALUE 0 bg->ro 0
PARAM_VALUE 0 bg->space_info 4096-ptr_max
PARAM_VALUE 0 bg->space_info->groups_sem.dep_map->name 0-255
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->type 0-1
PARAM_VALUE 0 bg->space_info->groups_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 bg->space_info->groups_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 bg->space_info->groups_sem.wait_lock.owner (-1)
PARAM_VALUE 0 bg->space_info->groups_sem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 bg->space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->used 0
DATA_SOURCE 0 bg $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs_info->reclaim_bgs_lock
LOCK2 &space_info->groups_sem
LOCK2 &space_info->lock
LOCK2 0 &bg->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct btrfs_block_group)->lock
TYPE_LOCK (struct btrfs_fs_info)->reclaim_bgs_lock
TYPE_LOCK (struct btrfs_space_info)->groups_sem
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/block-group.c btrfs_update_block_group() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->sb->s_cop->inode_info_offs 1632,1720,2632,2648
PARAM_VALUE 0 bg->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->size_class 0
PARAM_VALUE 0 bg->space_info 4096-ptr_max
PARAM_VALUE 0 bg->space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->used 0
CAPPED_DATA 0 &bg->dirty_list 1
DATA_SOURCE 0 bg r btrfs_lookup_block_group
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fs_info->reloc_mutex
HALF_LOCKED2 &href->mutex

fs/btrfs/block-group.c read_one_block_group() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->active_bg_list.next->next 4096-ptr_max
PARAM_VALUE 0 bg->active_bg_list.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->active_bg_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->bg_list.next 4096-ptr_max
PARAM_VALUE 0 bg->bg_list.next->next 4096-ptr_max
PARAM_VALUE 0 bg->bg_list.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->bg_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->cache_node.__rb_parent_color 1
PARAM_VALUE 0 bg->cache_node.rb_left 4096-ptr_max
PARAM_VALUE 0 bg->cache_node.rb_right 4096-ptr_max
PARAM_VALUE 0 bg->cluster_list.next->next 4096-ptr_max
PARAM_VALUE 0 bg->cluster_list.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->cluster_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->data_rwsem.dep_map->name 0-255
PARAM_VALUE 0 bg->dirty_list.next->next 4096-ptr_max
PARAM_VALUE 0 bg->dirty_list.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->dirty_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->discard_list.next->next 4096-ptr_max
PARAM_VALUE 0 bg->discard_list.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->discard_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->free_space_ctl->block_group 4096-ptr_max
PARAM_VALUE 0 bg->free_space_ctl->block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 bg->free_space_ctl->cache_writeout_mutex.dep_map->name 0-255
PARAM_VALUE 0 bg->free_space_ctl->cache_writeout_mutex.magic 4096-ptr_max
PARAM_VALUE 0 bg->free_space_ctl->extents_thresh 157
PARAM_VALUE 0 bg->free_space_ctl->trimming_ranges.next 4096-ptr_max
PARAM_VALUE 0 bg->free_space_ctl->trimming_ranges.next->next 4096-ptr_max
PARAM_VALUE 0 bg->free_space_ctl->trimming_ranges.prev 4096-ptr_max
PARAM_VALUE 0 bg->free_space_ctl->trimming_ranges.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->free_space_ctl->trimming_ranges.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->free_space_lock.dep_map->name 0-255
PARAM_VALUE 0 bg->fs_info 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->block_group_cache_lock.dep_map->name 0-255
PARAM_VALUE 0 bg->fs_info->block_group_cache_lock.owner (-1)
PARAM_VALUE 0 bg->fs_info->block_group_cache_lock.owner_cpu u32max
PARAM_VALUE 0 bg->fs_info->block_group_cache_tree.rb_leftmost 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->block_group_cache_tree.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 0 bg->io_list.next->next 4096-ptr_max
PARAM_VALUE 0 bg->io_list.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->io_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->list.next->next 4096-ptr_max
PARAM_VALUE 0 bg->list.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->remap_bytes 0
PARAM_VALUE 0 bg->ro_list.next->next 4096-ptr_max
PARAM_VALUE 0 bg->ro_list.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->ro_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->space_info 4096-ptr_max
PARAM_VALUE 0 bg->space_info->fs_info->balance_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->space_info->fs_info->fs_devices->per_profile_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->space_info->groups_sem.dep_map->name 0-255
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->type 0-1
PARAM_VALUE 0 bg->space_info->groups_sem.osq.tail.counter 0-s32max
PARAM_VALUE 0 bg->space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->start 0-18446744073709551614
PARAM_VALUE 0 bg->used 0
CAPPED_DATA 0 bg->start 1
CAPPED_DATA 0 &bg->bg_list 1
DATA_SOURCE 0 bg r btrfs_create_block_group
PARAM_COMPARE 0 &bg->bg_list == $0->bg_list.next
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 bg->free_space_ctl->block_group->full_stripe_len

fs/btrfs/extent-tree.c btrfs_complete_bg_remapping() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->bg_list.next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_inodes.next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_inodes.next->next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_inodes.next->prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_inodes.prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_inodes.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_inodes.prev->next->next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_inodes.prev->next->prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_inodes.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_mutex->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 bg->fs_info->tree_root->delalloc_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 bg->fs_info->tree_root->ordered_extent_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->fs_info->tree_root->ordered_extent_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 bg->fs_info->tree_root->ordered_extents.next->next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->ordered_extents.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->ordered_extents.prev->next->next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->ordered_extents.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->tree_root->qgroup_meta_rsv_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->fs_info->unused_bgs_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bg->space_info->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 &bg->bg_list 1
DATA_SOURCE 0 bg $0
NOCHECK_CALL

fs/btrfs/discard.c btrfs_discard_purge_list() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->used 0
CAPPED_DATA 0 &bg->discard_list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/discard.c btrfs_finish_discard_pass() -> btrfs_mark_bg_unused()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->discard_list.next->next 4096-ptr_max
PARAM_VALUE 0 bg->discard_list.next->prev 4096-ptr_max
PARAM_VALUE 0 bg->discard_list.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->discard_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.timer.is_hard 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.timer.is_lazy 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.timer.is_queued 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.timer.is_soft 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.entry.next->next 1-u64max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.entry.prev->prev 1-u64max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.flags 0-4294967295
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_queued 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.lockdep_map->name 0-255
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 *bg->fs_info->discard_ctl.work.timer->entry.pprev 4096-ptr_max
CAPPED_DATA 0 bg 1
DATA_SOURCE 0 bg $1
NOCHECK_CALL
HALF_LOCKED2 &pool->lock