Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/btrfs/block-group.c btrfs_delete_unused_bgs() -> btrfs_link_bg_list()

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_queued 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.entry.prev->next 1-u64max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_hard 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_lazy 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_queued 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_soft 0-1
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->pinned 0
PARAM_VALUE 0 bg->remap_bytes 0
PARAM_VALUE 0 bg->reserved 0
PARAM_VALUE 0 bg->ro 0
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->type 0-1
PARAM_VALUE 0 bg->used 0
PARAM_VALUE 0 *bg->fs_info->discard_ctl.work.timer->entry->next->pprev 1-u64max
PARAM_VALUE 0 *bg->fs_info->discard_ctl.work.timer->entry.pprev 4096-ptr_max
PARAM_VALUE 1 list 4762261445979717632
PARAM_VALUE 1 list->next 4762261445979717632
PARAM_VALUE 1 list->prev 4096-ptr_max
CAPPED_DATA 0 bg 1
CAPPED_DATA 0 &bg->list 1
BIT_INFO 0 bg->flags 0x0,0xfffffffffffff7ff
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
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_delete_unused_bgs() -> btrfs_link_bg_list()

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_queued 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.entry.prev->next 1-u64max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_hard 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_lazy 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_queued 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_soft 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
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->groups_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bg->space_info->groups_sem.first_waiter->type 0-1
PARAM_VALUE 0 bg->space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 *bg->fs_info->discard_ctl.work.timer->entry->next->pprev 1-u64max
PARAM_VALUE 0 *bg->fs_info->discard_ctl.work.timer->entry.pprev 4096-ptr_max
PARAM_VALUE 1 list 4762261445979717632
PARAM_VALUE 1 list->next 4762261445979717632
PARAM_VALUE 1 list->prev 4096-ptr_max
CAPPED_DATA 0 bg 1
CAPPED_DATA 0 &bg->list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs_info->reclaim_bgs_lock
TYPE_LOCK (struct btrfs_fs_info)->reclaim_bgs_lock

fs/btrfs/block-group.c btrfs_make_block_group() -> btrfs_link_bg_list()

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->next 4096-ptr_max
PARAM_VALUE 0 bg->bg_list.next->prev 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->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->total_bitmaps 0-s32max
PARAM_VALUE 0 bg->free_space_ctl->tree_lock.rlock.dep_map->name 0-255
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->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->discard_ctl->work.timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->discard_ctl.block_group 0,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_queued 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.entry.next 1-u64max
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.next->prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.entry.prev 1-u64max
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.entry.prev->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.is_hard 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_lazy 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_queued 0-1
PARAM_VALUE 0 bg->fs_info->discard_ctl.work.work.is_soft 0-1
PARAM_VALUE 0 bg->fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 0 bg->fs_info->mount_opt 4194304-u64max
PARAM_VALUE 0 bg->fs_info->reclaim_bgs.prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->reclaim_bgs.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->reclaim_bgs.prev->next->next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->unused_bgs.prev 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->unused_bgs.prev->next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->unused_bgs.prev->next->next 4096-ptr_max
PARAM_VALUE 0 bg->fs_info->unused_bgs_lock.rlock.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->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->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->fs_info->discard_ctl.work.timer->entry->next->pprev 1-u64max
PARAM_VALUE 1 list 4096-ptr_max
DATA_SOURCE 0 bg r btrfs_create_block_group
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 bg->free_space_ctl->block_group->full_stripe_len
LOCK2 &fs_info->chunk_mutex
HALF_LOCKED2 &sb->s_umount
HALF_LOCKED2 global &uuid_mutex
TYPE_LOCK (struct btrfs_fs_info)->chunk_mutex

fs/btrfs/block-group.c btrfs_mark_bg_to_reclaim() -> btrfs_link_bg_list()

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->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->lock.rlock.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->type 0-1
PARAM_VALUE 1 list 4096-ptr_max
BUF_SIZE 0 bg (-1)-s32max
BUF_SIZE 0 bg (-1)-s32max
BUF_SIZE 0 bg->fs_info (-1),11312
CAPPED_DATA 0 bg 1
DATA_SOURCE 0 bg $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 bg->full_stripe_len
HALF_LOCKED2 &fs_info->reclaim_bgs_lock
HALF_LOCKED2 &space_info->groups_sem
HALF_LOCKED2 0 &bg->lock

fs/btrfs/block-group.c btrfs_reclaim_block_groups() -> btrfs_link_bg_list()

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->reserved 0
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->used 1-18446744073709551614
PARAM_VALUE 1 list 7197392522809397248
PARAM_VALUE 1 list->next 7197392522809397248
PARAM_VALUE 1 list->prev 4096-ptr_max
CAPPED_DATA 0 bg->used 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs_info->reclaim_bgs_lock
TYPE_LOCK (struct btrfs_fs_info)->reclaim_bgs_lock