Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/btrfs/dev-replace.c btrfs_finish_block_group_to_copy() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->ro_block_group_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->zone_size 1-u64max
PARAM_VALUE 2 length 1
CAPPED_DATA 1 logical 1
CAPPED_DATA 1 logical 1
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte

fs/btrfs/volumes.c btrfs_chunk_alloc_add_chunk_item() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
UNITS 2 length unit_byte
LOCK2 &fs_info->chunk_mutex
TYPE_LOCK (struct btrfs_fs_info)->chunk_mutex

fs/btrfs/volumes.c btrfs_chunk_writeable() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->mount_opt 4096-u64max
PARAM_VALUE 0 fs_info->profiles_lock.seqcount.seqcount.dep_map->name 0-255
PARAM_VALUE 2 length 1
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 logical $1
UNITS 1 logical unit_byte

fs/btrfs/volumes.c btrfs_full_stripe_len() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 2 length 0-u32max
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 logical $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
UNITS 2 length unit_byte
HALF_LOCKED2 &fs_info->chunk_mutex

fs/btrfs/volumes.c btrfs_map_block() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 0 fs_info->stripe_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->stripe_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 2 length 0-18446744073709486080
BUF_SIZE 0 fs_info (-1),128
BUF_SIZE 0 fs_info (-1),128
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 logical $2
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
HALF_LOCKED2 &sctx->wr_lock

fs/btrfs/volumes.c btrfs_map_block() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->stripe_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->stripe_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->type 0-1
BUF_SIZE 0 fs_info (-1),128
BUF_SIZE 0 fs_info (-1),128
DATA_SOURCE 0 fs_info $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
HALF_LOCKED2 &sctx->wr_lock

fs/btrfs/volumes.c btrfs_map_discard() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->block_group_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->block_group_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->chunk_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->chunk_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.counters 4096-ptr_max
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.lock.owner (-1)
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.lock.owner_cpu u32max
PARAM_VALUE 0 fs_info->dev_replace.replace_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_info->dev_replace.replace_wait.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->dev_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->dev_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->quota_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->quota_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 1 logical 0-18446744073709551614
PARAM_VALUE 2 length 1-u64max
CAPPED_DATA 1 logical 1
CAPPED_DATA 1 logical 1
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 logical $1
NOSPEC 1 logical
NOSPEC 1 logical
NOSPEC 2 length
NOSPEC 2 length
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fs_info->balance_ctl->data.devid 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.flags 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.limit 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.limit_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.limit_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.pend 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.profiles 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.pstart 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.stripes_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.stripes_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.target 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.usage 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.usage_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.usage_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.vend 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.vstart 0-u64max
USER_DATA 0 fs_info->balance_ctl->flags 0-2046
USER_DATA 0 fs_info->balance_ctl->meta.devid 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.flags 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.limit 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.limit_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.limit_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.pend 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.profiles 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.pstart 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.stripes_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.stripes_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.target 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.usage 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.usage_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.usage_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.vend 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.vstart 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.devid 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.flags 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.limit 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.limit_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.limit_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.pend 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.profiles 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.pstart 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.stripes_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.stripes_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.target 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.usage 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.usage_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.usage_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.vend 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.vstart 0-u64max
USER_DATA 1 logical 1-s32max[c]
USER_DATA 2 length 1-9223372036854775806[c]
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
HALF_LOCKED2 0 &fs_info->reclaim_bgs_lock
HALF_LOCKED2 0 &fs_info->unused_bg_unpin_mutex

fs/btrfs/volumes.c btrfs_map_discard() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->block_group_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->block_group_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->chunk_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->chunk_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.counters 4096-ptr_max
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.lock.owner (-1)
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.lock.owner_cpu u32max
PARAM_VALUE 0 fs_info->dev_replace.replace_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_info->dev_replace.replace_wait.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->dev_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->dev_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->quota_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->quota_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 2 length 1-u64max
DATA_SOURCE 0 fs_info $0
NOSPEC 1 logical
NOSPEC 1 logical
NOSPEC 2 length
NOSPEC 2 length
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 fs_info->balance_ctl->data.devid 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.flags 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.limit 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.limit_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.limit_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.pend 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.profiles 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.pstart 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.stripes_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.stripes_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.target 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.usage 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.usage_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.usage_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->data.vend 0-u64max
USER_DATA 0 fs_info->balance_ctl->data.vstart 0-u64max
USER_DATA 0 fs_info->balance_ctl->flags 0-2046
USER_DATA 0 fs_info->balance_ctl->meta.devid 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.flags 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.limit 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.limit_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.limit_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.pend 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.profiles 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.pstart 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.stripes_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.stripes_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.target 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.usage 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.usage_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.usage_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->meta.vend 0-u64max
USER_DATA 0 fs_info->balance_ctl->meta.vstart 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.devid 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.flags 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.limit 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.limit_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.limit_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.pend 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.profiles 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.pstart 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.stripes_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.stripes_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.target 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.usage 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.usage_max 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.usage_min 0-u32max
USER_DATA 0 fs_info->balance_ctl->sys.vend 0-u64max
USER_DATA 0 fs_info->balance_ctl->sys.vstart 0-u64max
USER_DATA 1 logical 1-s32max[c]
USER_DATA 2 length 1-u64max[c]
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
HALF_LOCKED2 0 &fs_info->reclaim_bgs_lock
HALF_LOCKED2 0 &fs_info->unused_bg_unpin_mutex

fs/btrfs/volumes.c btrfs_num_copies() -> btrfs_get_chunk_map()

Type Parameter Key Value
BUF_SIZE 0 fs_info (-1),64,128,280,1024
BUF_SIZE 0 fs_info (-1),64,128,280,1024
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 logical $1
DATA_SOURCE 2 length $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
UNITS 2 length unit_byte

fs/btrfs/volumes.c btrfs_remove_chunk() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 1 logical 0-18446744073709551614
PARAM_VALUE 2 length 1
CAPPED_DATA 1 logical 1
CAPPED_DATA 1 logical 1
DATA_SOURCE 1 logical $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
HALF_LOCKED2 &fs_info->reclaim_bgs_lock
TYPE_LOCK (struct btrfs_fs_info)->reclaim_bgs_lock

fs/btrfs/inode.c btrfs_swap_activate() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->exclusive_operation 7
PARAM_VALUE 0 fs_info->super_lock.rlock.dep_map->name 0-255
CAPABLE 0 21
UNITS 0 fs_info unit_byte
UNITS 2 length unit_byte
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/btrfs/block-group.c btrfs_rmap_block() -> btrfs_get_chunk_map()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 2 length 1
BUF_SIZE 0 fs_info (-1),11312
BUF_SIZE 0 fs_info (-1),11312
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 logical $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 fs_info->nodesize
NO_OVERFLOW_SIMPLE 0 fs_info->sectorsize
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte

fs/btrfs/block-group.c insert_dev_extents() -> btrfs_get_chunk_map()

Type Parameter Key Value
DATA_SOURCE 1 logical $1
DATA_SOURCE 2 length $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
UNITS 2 length unit_byte

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

Type Parameter Key Value
PARAM_VALUE 2 length 1
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte