Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
PARAM_VALUE 0 bg->lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
LOCK2 0 &bg->lock
TYPE_LOCK (struct btrfs_block_group)->lock

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

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->space_info->block_group_kobjs 4096-ptr_max
CAPPED_DATA 0 bg 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &bg->lock
TYPE_LOCK (struct btrfs_block_group)->lock

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

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->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->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
CAPPED_DATA 0 bg 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
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_is_block_group_used()

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->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->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
CAPPED_DATA 0 bg 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
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/zoned.c btrfs_reset_unused_block_groups() -> btrfs_is_block_group_used()

Type Parameter Key Value
PARAM_VALUE 0 bg 4096-ptr_max
CAPPED_DATA 0 &bg->bg_list 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &fs_info->unused_bgs_lock
LOCK2 0 &bg->lock
TYPE_LOCK (struct btrfs_block_group)->lock
TYPE_LOCK (struct btrfs_fs_info)->unused_bgs_lock

fs/btrfs/zoned.c btrfs_reset_unused_block_groups() -> btrfs_is_block_group_used()

Type Parameter Key Value
PARAM_VALUE 0 bg 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->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.block_group 0
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_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->discard_ctl.work.work.lockdep_map->name 0-255
PARAM_VALUE 0 bg->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
CAPPED_DATA 0 &bg->bg_list 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &space_info->lock
LOCK2 0 &bg->lock
TYPE_LOCK (struct btrfs_block_group)->lock
TYPE_LOCK (struct btrfs_space_info)->lock