Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
fs/btrfs/free-space-cache.c btrfs_alloc_from_bitmap() -> search_bitmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | bitmap_info | 4096-ptr_max |
| PARAM_VALUE | 1 | bitmap_info->bitmap | 1-u64max |
| PARAM_VALUE | 2 | offset | 5118591864976588800 |
| PARAM_VALUE | 3 | bytes | 7566441967326027776 |
| PARAM_VALUE | 4 | for_alloc | 1 |
| DATA_SOURCE | 1 | bitmap_info | $2 |
| NOSPEC | 3 | *bytes | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 3 | *bytes | 0-s32max[c] |
| NO_OVERFLOW_SIMPLE | 1 | bitmap_info->offset | |
| USER_PTR | 3 | bytes | |
| LOCK2 | &cluster->lock | ||
| LOCK2 | &cluster->refill_lock | ||
| LOCK2 | &space_info->groups_sem | ||
| HALF_LOCKED2 | &cluster->block_group->data_rwsem | ||
| HALF_LOCKED2 | &fs_info->remap_mutex | ||
| HALF_LOCKED2 | &root->objectid_mutex | ||
| TYPE_LOCK | (struct btrfs_free_cluster)->lock | ||
| TYPE_LOCK | (struct btrfs_free_cluster)->refill_lock | ||
| TYPE_LOCK | (struct btrfs_space_info)->groups_sem |
fs/btrfs/free-space-cache.c copy_free_space_cache() -> search_bitmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctl | 2308521935435767808 |
| PARAM_VALUE | 0 | ctl->block_group | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->block_group->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->cache_writeout_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->free_space_offset.rb_node | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->trimming_ranges.next | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->trimming_ranges.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | bitmap_info | 4096-ptr_max |
| PARAM_VALUE | 1 | bitmap_info->bitmap | 1-u64max |
| PARAM_VALUE | 2 | offset | 2531932094348804096 |
| PARAM_VALUE | 3 | bytes | 4690565957686411264 |
| PARAM_VALUE | 3 | *bytes | 0-u32max |
| PARAM_VALUE | 4 | for_alloc | 0 |
| CAPPED_DATA | 0 | ctl->block_group | 1 |
| DATA_SOURCE | 0 | ctl | $0 |
| PREEMPT_ADD | |||
| LOCK2 | &caching_ctl->mutex | ||
| LOCK2 | &fs_info->commit_root_sem | ||
| LOCK2 | &tmp_ctl.tree_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | 0 | &ctl->tree_lock | |
| TYPE_LOCK | (struct btrfs_caching_control)->mutex | ||
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock | ||
| TYPE_LOCK | (struct btrfs_fs_info)->commit_root_sem |
fs/btrfs/free-space-cache.c find_free_space() -> search_bitmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctl | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->free_space_offset.rb_node | 1-u64max |
| PARAM_VALUE | 0 | ctl->tree_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | bitmap_info | 4096-ptr_max |
| PARAM_VALUE | 1 | bitmap_info->bitmap | 1-u64max |
| PARAM_VALUE | 2 | offset | 6543939466407415808 |
| PARAM_VALUE | 3 | bytes | 648074415516241920 |
| PARAM_VALUE | 4 | for_alloc | 1 |
| DATA_SOURCE | 0 | ctl | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 3 | *bytes | 0-s32max[c] |
| UNITS | 1 | bitmap_info | unit_byte |
| USER_PTR | 3 | bytes | |
| LOCK2 | 0 | &ctl->tree_lock | |
| HALF_LOCKED2 | &space_info->groups_sem | ||
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c remove_from_bitmap() -> search_bitmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctl | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->block_group | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->block_group->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->tree_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | bitmap_info | 4096-ptr_max |
| PARAM_VALUE | 1 | bitmap_info->bitmap | 1-u64max |
| PARAM_VALUE | 2 | offset | 2636443174014644224 |
| PARAM_VALUE | 3 | bytes | 1886915934064476160 |
| PARAM_VALUE | 4 | for_alloc | 0 |
| CAPPED_DATA | 0 | ctl->block_group | 1 |
| DATA_SOURCE | 0 | ctl | $0 |
| DATA_SOURCE | 1 | bitmap_info | $1 [m] |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &ctl->tree_lock | |
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c remove_from_bitmap() -> search_bitmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctl | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->block_group | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->block_group->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->tree_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | bitmap_info | 4096-ptr_max |
| PARAM_VALUE | 1 | bitmap_info->bitmap | 1-u64max |
| PARAM_VALUE | 2 | offset | 2636443174014644224 |
| PARAM_VALUE | 3 | bytes | 1886915934064476160 |
| PARAM_VALUE | 3 | *bytes | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 4 | for_alloc | 0 |
| CAPPED_DATA | 0 | ctl->block_group | 1 |
| DATA_SOURCE | 0 | ctl | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &ctl->tree_lock | |
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c test_check_exists() -> search_bitmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctl | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->block_group | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->block_group->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->tree_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | bitmap_info | 4096-ptr_max |
| PARAM_VALUE | 1 | bitmap_info->bitmap | 1-u64max |
| PARAM_VALUE | 2 | offset | 5475048887490441216 |
| PARAM_VALUE | 3 | bytes | 6185566745215262720 |
| PARAM_VALUE | 3 | *bytes | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 4 | for_alloc | 0 |
| CAPPED_DATA | 0 | ctl->block_group | 1 |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | 0 | &ctl->tree_lock | |
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c trim_bitmaps() -> search_bitmap()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctl | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->block_group | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->block_group->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | ctl->cache_writeout_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctl->cache_writeout_mutex.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ctl->cache_writeout_mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | ctl->cache_writeout_mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | ctl->cache_writeout_mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | ctl->cache_writeout_mutex.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | ctl->cache_writeout_mutex.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | ctl->tree_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | bitmap_info | 4096-ptr_max |
| PARAM_VALUE | 1 | bitmap_info->offset | 0-18446744073709551614 |
| PARAM_VALUE | 3 | bytes | 5289707076489822208 |
| PARAM_VALUE | 3 | *bytes | 1-u64max |
| PARAM_VALUE | 4 | for_alloc | 0 |
| CAPPED_DATA | 0 | ctl->block_group | 1 |
| CAPPED_DATA | 0 | &ctl->cache_writeout_mutex | 1 |
| CAPPED_DATA | 1 | bitmap_info->offset | 1 |
| DATA_SOURCE | 1 | bitmap_info | r tree_search_offset |
| NOSPEC | 3 | *bytes | |
| PREEMPT_ADD | <- disables preempt | ||
| USER_DATA | 3 | *bytes | 1-s32max[c] |
| USER_PTR | 3 | bytes | |
| LOCK2 | 0 | &ctl->cache_writeout_mutex | |
| LOCK2 | 0 | &ctl->tree_lock | |
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct btrfs_free_space_ctl)->cache_writeout_mutex | ||
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |