Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/btrfs/free-space-cache.c btrfs_alloc_from_cluster() -> btrfs_alloc_from_bitmap()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
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 1 cluster 4096-ptr_max
PARAM_VALUE 1 cluster->block_group 4096-ptr_max
PARAM_VALUE 1 cluster->block_group->data_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 cluster->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 cluster->refill_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 cluster->root.rb_node 4096-ptr_max
PARAM_VALUE 2 entry 4096-ptr_max
PARAM_VALUE 2 entry->bitmap 1-u64max
PARAM_VALUE 5 max_extent_size 6234682535772307536
CAPPED_DATA 0 block_group 1
CAPPED_DATA 1 cluster->block_group 1
CAPPED_DATA 3 bytes 1
CAPPED_DATA 3 bytes 1
DATA_SOURCE 0 block_group $0
DATA_SOURCE 1 cluster $1
DATA_SOURCE 3 bytes $2
DATA_SOURCE 5 max_extent_size $4
PARAM_COMPARE 0 block_group == $1->block_group
PARAM_COMPARE 0 block_group == $1->block_group
PARAM_COMPARE 3 bytes <= $1->max_size
PARAM_COMPARE 3 bytes <= $1->max_size
PARAM_COMPARE 3 bytes <= $2->bytes
PARAM_COMPARE 3 bytes <= $2->bytes
NOSPEC 3 bytes
NOSPEC 3 bytes
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 3 bytes 0-s32max[c]
NO_OVERFLOW_SIMPLE 2 entry->offset
UNITS 3 bytes unit_byte
UNITS 4 min_start unit_byte
LOCK2 &space_info->groups_sem
LOCK2 1 &cluster->lock
LOCK2 1 &cluster->refill_lock
HALF_LOCKED2 &fs_info->remap_mutex
HALF_LOCKED2 &root->objectid_mutex
HALF_LOCKED2 1 &cluster->block_group->data_rwsem
TYPE_LOCK (struct btrfs_free_cluster)->lock
TYPE_LOCK (struct btrfs_free_cluster)->refill_lock
TYPE_LOCK (struct btrfs_space_info)->groups_sem