Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

fs/btrfs/volumes.c btrfs_metadata_alloc_profile() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 1 orig_flags 4
DATA_SOURCE 0 fs_info $0
CAPABLE 0 21
UNITS 0 fs_info unit_byte
LOCK2 &fs_info->chunk_mutex
LOCK2 &sb->s_umount
LOCK2 global &uuid_mutex
TYPE_LOCK (struct btrfs_fs_info)->chunk_mutex
TYPE_LOCK (struct super_block)->s_umount

fs/btrfs/volumes.c btrfs_system_alloc_profile() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 1 orig_flags 2
DATA_SOURCE 0 fs_info $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &fs_info->chunk_mutex
HALF_LOCKED2 &sb->s_umount
HALF_LOCKED2 global &uuid_mutex
HALF_LOCKED2 0 &fs_info->chunk_mutex
TYPE_LOCK (struct btrfs_fs_info)->chunk_mutex

fs/btrfs/space-info.c btrfs_metadata_alloc_profile() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 1 orig_flags 4
DATA_SOURCE 0 fs_info $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &space_info->lock
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/space-info.c btrfs_system_alloc_profile() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 1 orig_flags 2
DATA_SOURCE 0 fs_info $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &space_info->lock
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/space-info.c flush_space() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

fs/btrfs/direct-io.c btrfs_data_alloc_profile() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 1 orig_flags 1
DATA_SOURCE 0 fs_info $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &pool->lock

fs/btrfs/block-group.c btrfs_force_chunk_alloc() -> btrfs_get_alloc_profile()

Type Parameter Key Value
DATA_SOURCE 1 orig_flags $1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &fs_info->reclaim_bgs_lock
HALF_LOCKED2 &of->mutex

fs/btrfs/block-group.c btrfs_inc_block_group_ro() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->ro_block_group_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_info->ro_block_group_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->ro_block_group_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->ro_block_group_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->ro_block_group_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 fs_info->ro_block_group_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 fs_info->sb 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2712
CAPPED_DATA 0 &fs_info->ro_block_group_mutex 1
RX_PATH
UNITS 0 fs_info unit_byte
LOCK2 0 &fs_info->ro_block_group_mutex
TYPE_LOCK (struct btrfs_fs_info)->ro_block_group_mutex

fs/btrfs/block-group.c btrfs_inc_block_group_ro() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->ro_block_group_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_info->ro_block_group_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->ro_block_group_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->ro_block_group_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->ro_block_group_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 fs_info->ro_block_group_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 fs_info->sb 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2712
CAPPED_DATA 0 &fs_info->ro_block_group_mutex 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
LOCK2 0 &fs_info->ro_block_group_mutex
TYPE_LOCK (struct btrfs_fs_info)->ro_block_group_mutex

fs/btrfs/block-group.c btrfs_inc_block_group_ro() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->ro_block_group_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_info->ro_block_group_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->ro_block_group_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->ro_block_group_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->ro_block_group_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 fs_info->ro_block_group_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 fs_info->sb 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2712
CAPPED_DATA 0 &fs_info->ro_block_group_mutex 1
BIT_INFO 1 orig_flags 0x2,0xffffffffffffffff
BIT_INFO 1 orig_flags 0x2,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
LOCK2 0 &fs_info->ro_block_group_mutex
TYPE_LOCK (struct btrfs_fs_info)->ro_block_group_mutex

fs/btrfs/block-group.c btrfs_read_block_groups() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->mount_opt 4096-u64max
CAPPED_DATA 0 &fs_info->space_info 1
DATA_SOURCE 0 fs_info $0

fs/btrfs/block-group.c btrfs_system_alloc_profile() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 0 fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->tree_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->tree_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 1 orig_flags 2
DATA_SOURCE 0 fs_info $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
LOCK2 &fs_info->chunk_mutex
TYPE_LOCK (struct btrfs_fs_info)->chunk_mutex

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

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->data_reloc_bg 0
PARAM_VALUE 0 fs_info->data_sinfo 4096-ptr_max
PARAM_VALUE 0 fs_info->sb 4096-ptr_max
PARAM_VALUE 0 fs_info->zone_size 1-u64max
DATA_SOURCE 0 fs_info $0

fs/btrfs/extent-tree.c get_alloc_profile_by_root() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 1 orig_flags 1-2,4,4096
FUZZY_MAX 1 orig_flags 4096
BIT_INFO 1 orig_flags 0x0,0x1007
BIT_INFO 1 orig_flags 0x0,0x1007
HARD_MAX 1 orig_flags 4096
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &fs_info->remap_mutex
HALF_LOCKED2 &pool->lock

fs/btrfs/super.c btrfs_data_alloc_profile() -> btrfs_get_alloc_profile()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->fs_devices 4096-ptr_max
PARAM_VALUE 0 fs_info->global_block_rsv.lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 orig_flags 1
BUF_SIZE 0 fs_info 1-s32max
BUF_SIZE 0 fs_info 1-s32max
DATA_SOURCE 0 fs_info $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &s->s_umount