Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/btrfs/block-group.c btrfs_chunk_alloc() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->start 0-18446744073709551614
BUF_SIZE 0 block_group (-1)-s32max
BUF_SIZE 0 block_group (-1)-s32max
CAPPED_DATA 0 block_group->start 1
DATA_SOURCE 0 block_group r do_chunk_alloc
RX_PATH
NOCHECK_CALL
LOCK2 &fs_info->chunk_mutex
TYPE_LOCK (struct btrfs_fs_info)->chunk_mutex

fs/btrfs/zoned.c btrfs_load_block_group_dup() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->block_group 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->cache_writeout_mutex.dep_map->name 0-255
PARAM_VALUE 0 block_group->free_space_ctl->cache_writeout_mutex.magic 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->extents_thresh 157
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_lock.dep_map->name 0-255
PARAM_VALUE 0 block_group->free_space_lock.first_waiter 0
PARAM_VALUE 0 block_group->free_space_lock.magic 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_lock.osq.tail.counter 0
PARAM_VALUE 0 block_group->free_space_lock.owner.counter 0
PARAM_VALUE 0 block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 block_group->full_stripe_len 0-18446744073709486080
PARAM_VALUE 0 block_group->list.next 4096-ptr_max
PARAM_VALUE 0 block_group->list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->start 0-18446744073709551614
BUF_SIZE 0 block_group (-1),992
BUF_SIZE 0 block_group (-1),992
CAPPED_DATA 0 block_group->start 1
DATA_SOURCE 0 block_group $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 block_group->fs_info->nodesize
NO_OVERFLOW_SIMPLE 0 block_group->fs_info->sectorsize
NO_OVERFLOW_SIMPLE 0 block_group->full_stripe_len

fs/btrfs/zoned.c btrfs_load_block_group_raid0() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->block_group 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->cache_writeout_mutex.dep_map->name 0-255
PARAM_VALUE 0 block_group->free_space_ctl->cache_writeout_mutex.magic 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->extents_thresh 157
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_lock.dep_map->name 0-255
PARAM_VALUE 0 block_group->free_space_lock.first_waiter 0
PARAM_VALUE 0 block_group->free_space_lock.magic 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_lock.osq.tail.counter 0
PARAM_VALUE 0 block_group->free_space_lock.owner.counter 0
PARAM_VALUE 0 block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 block_group->full_stripe_len 0-18446744073709486080
PARAM_VALUE 0 block_group->list.next 4096-ptr_max
PARAM_VALUE 0 block_group->list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->start 0-18446744073709551614
BUF_SIZE 0 block_group (-1),992
BUF_SIZE 0 block_group (-1),992
CAPPED_DATA 0 block_group->start 1
DATA_SOURCE 0 block_group $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 block_group->fs_info->nodesize
NO_OVERFLOW_SIMPLE 0 block_group->fs_info->sectorsize
NO_OVERFLOW_SIMPLE 0 block_group->full_stripe_len

fs/btrfs/zoned.c btrfs_load_block_group_raid1() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->block_group 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->cache_writeout_mutex.dep_map->name 0-255
PARAM_VALUE 0 block_group->free_space_ctl->cache_writeout_mutex.magic 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->extents_thresh 157
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_lock.dep_map->name 0-255
PARAM_VALUE 0 block_group->free_space_lock.first_waiter 0
PARAM_VALUE 0 block_group->free_space_lock.magic 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_lock.osq.tail.counter 0
PARAM_VALUE 0 block_group->free_space_lock.owner.counter 0
PARAM_VALUE 0 block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 block_group->full_stripe_len 0-18446744073709486080
PARAM_VALUE 0 block_group->list.next 4096-ptr_max
PARAM_VALUE 0 block_group->list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->start 0-18446744073709551614
BUF_SIZE 0 block_group (-1),992
BUF_SIZE 0 block_group (-1),992
CAPPED_DATA 0 block_group->start 1
DATA_SOURCE 0 block_group $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 block_group->fs_info->nodesize
NO_OVERFLOW_SIMPLE 0 block_group->fs_info->sectorsize
NO_OVERFLOW_SIMPLE 0 block_group->full_stripe_len

fs/btrfs/zoned.c btrfs_load_block_group_raid10() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->bg_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->cluster_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->block_group 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->cache_writeout_mutex.dep_map->name 0-255
PARAM_VALUE 0 block_group->free_space_ctl->cache_writeout_mutex.magic 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->extents_thresh 157
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_ctl->trimming_ranges.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_lock.dep_map->name 0-255
PARAM_VALUE 0 block_group->free_space_lock.first_waiter 0
PARAM_VALUE 0 block_group->free_space_lock.magic 4096-ptr_max
PARAM_VALUE 0 block_group->free_space_lock.osq.tail.counter 0
PARAM_VALUE 0 block_group->free_space_lock.owner.counter 0
PARAM_VALUE 0 block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 block_group->full_stripe_len 0-18446744073709486080
PARAM_VALUE 0 block_group->list.next 4096-ptr_max
PARAM_VALUE 0 block_group->list.next->next 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev->next 4096-ptr_max
PARAM_VALUE 0 block_group->list.prev->prev 4096-ptr_max
PARAM_VALUE 0 block_group->start 0-18446744073709551614
BUF_SIZE 0 block_group (-1),992
BUF_SIZE 0 block_group (-1),992
CAPPED_DATA 0 block_group->start 1
DATA_SOURCE 0 block_group $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 block_group->fs_info->nodesize
NO_OVERFLOW_SIMPLE 0 block_group->fs_info->sectorsize
NO_OVERFLOW_SIMPLE 0 block_group->full_stripe_len

fs/btrfs/zoned.c btrfs_zoned_activate_one_bg() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->fs_info->zone_size 1-u64max
PARAM_VALUE 0 block_group->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 &block_group->list 1
PARAM_COMPARE 0 block_group->alloc_offset != $0->zone_capacity
RX_PATH
TASK_NOT_RUNNING
LOCK2 &space_info->groups_sem
HALF_LOCKED2 &fs_info->chunk_mutex
HALF_LOCKED2 &fs_info->ro_block_group_mutex
TYPE_LOCK (struct btrfs_space_info)->groups_sem

fs/btrfs/zoned.c btrfs_zoned_reserve_data_reloc_bg() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->alloc_offset 0
PARAM_VALUE 0 block_group->space_info->groups_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 block_group->space_info->groups_sem.first_waiter->type 0-1
CAPPED_DATA 0 &block_group->list 1
NOCHECK_CALL

fs/btrfs/zoned.c check_bg_is_active() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->fs_info 4096-ptr_max
CAPPED_DATA 0 block_group->start 1

fs/btrfs/zoned.c check_bg_is_active() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 block_group->fs_info->zone_active_bgs_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 block_group->fs_info->zone_size 1-u64max
PARAM_VALUE 0 block_group->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 block_group->start 1
HALF_LOCKED2 &fs_info->zoned_meta_io_lock

fs/btrfs/zoned.c check_bg_is_active() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->fs_info 4096-ptr_max
HALF_LOCKED2 &fs_info->zoned_meta_io_lock

fs/btrfs/extent-tree.c do_allocation_zoned() -> btrfs_zone_activate()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
PARAM_VALUE 0 block_group->cached 0-2,4-u32max
PARAM_VALUE 0 block_group->data_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 block_group->data_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 block_group->fs_info 4096-ptr_max
PARAM_VALUE 0 block_group->fs_info->relocation_bg_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 block_group->fs_info->sb->s_cop->inode_info_offs 1632,1808,2632,2648
PARAM_VALUE 0 block_group->fs_info->treelog_bg_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 block_group->fs_info->zone_size 1-u64max
PARAM_VALUE 0 block_group->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 block_group->ro 0
DATA_SOURCE 0 block_group $0
PARAM_COMPARE 0 block_group->alloc_offset != $0->zone_capacity
BIT_INFO 0 block_group->flags 0x1,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
LOCK2 &space_info->groups_sem
HALF_LOCKED2 &fs_info->remap_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &root->objectid_mutex
TYPE_LOCK (struct btrfs_space_info)->groups_sem