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() -> bitmap_clear_bits()
| 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 | 1 | info | 4096-ptr_max |
| PARAM_VALUE | 1 | info->bitmap | 1-u64max |
| PARAM_VALUE | 4 | update_stat | 0 |
| CAPPED_DATA | 1 | info->offset | 1 |
| CAPPED_DATA | 3 | bytes | 1 |
| CAPPED_DATA | 3 | bytes | 1 |
| DATA_SOURCE | 1 | info | $2 |
| DATA_SOURCE | 2 | offset | $4 |
| DATA_SOURCE | 3 | bytes | $3 |
| NOSPEC | 3 | bytes | |
| NOSPEC | 3 | bytes | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 3 | bytes | 0-s32max[c] |
| NO_OVERFLOW_SIMPLE | 1 | info->offset | |
| UNITS | 2 | offset | unit_byte |
| UNITS | 3 | bytes | unit_byte |
| 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 btrfs_find_space_for_alloc() -> bitmap_clear_bits()
| 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 | info | 4096-ptr_max |
| PARAM_VALUE | 1 | info->bitmap | 1-u64max |
| PARAM_VALUE | 4 | update_stat | 1 |
| CAPPED_DATA | 1 | info->offset | 1 |
| DATA_SOURCE | 1 | info | r find_free_space |
| DATA_SOURCE | 2 | offset | $1 [m] |
| DATA_SOURCE | 3 | bytes | $2 |
| NOSPEC | 3 | bytes | |
| NOSPEC | 3 | bytes | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 3 | bytes | 0-s32max[c] |
| NO_OVERFLOW_SIMPLE | 2 | offset | |
| UNITS | 2 | offset | unit_byte |
| UNITS | 3 | bytes | unit_byte |
| 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 copy_free_space_cache() -> bitmap_clear_bits()
| 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 | info | 4096-ptr_max |
| PARAM_VALUE | 1 | info->bitmap | 1-u64max |
| PARAM_VALUE | 4 | update_stat | 1 |
| CAPPED_DATA | 0 | ctl->block_group | 1 |
| CAPPED_DATA | 1 | info->offset | 1 |
| DATA_SOURCE | 0 | ctl | $0 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| UNITS | 2 | offset | unit_byte |
| UNITS | 3 | bytes | unit_byte |
| 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 remove_from_bitmap() -> bitmap_clear_bits()
| 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 | info | 4096-ptr_max |
| PARAM_VALUE | 1 | info->bitmap | 1-u64max |
| PARAM_VALUE | 4 | update_stat | 1 |
| CAPPED_DATA | 0 | ctl->block_group | 1 |
| CAPPED_DATA | 1 | info->offset | 1 |
| CAPPED_DATA | 2 | offset | 1 |
| CAPPED_DATA | 2 | offset | 1 |
| CAPPED_DATA | 3 | bytes | 1 |
| CAPPED_DATA | 3 | bytes | 1 |
| DATA_SOURCE | 0 | ctl | $0 |
| DATA_SOURCE | 1 | info | $1 [m] |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 2 | offset | unit_byte |
| UNITS | 3 | bytes | unit_byte |
| LOCK2 | 0 | &ctl->tree_lock | |
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c steal_from_bitmap_to_end() -> bitmap_clear_bits()
| 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->total_bitmaps | 1-s32max |
| PARAM_VALUE | 1 | info | 4096-ptr_max |
| CAPPED_DATA | 1 | info->offset | 1 |
| DATA_SOURCE | 0 | ctl | $0 |
| DATA_SOURCE | 1 | info | r tree_search_offset |
| DATA_SOURCE | 4 | update_stat | $2 |
| FUZZY_MAX | 0 | ctl->total_bitmaps | 1 |
| PARAM_COMPARE | 1 | info->offset | <= $2 |
| PARAM_COMPARE | 2 | offset | >= $1->offset |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 2 | offset | unit_byte |
| HALF_LOCKED2 | &cluster->lock | ||
| HALF_LOCKED2 | &ctl->tree_lock | ||
| HALF_LOCKED2 | 0 | &ctl->tree_lock | |
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c steal_from_bitmap_to_front() -> bitmap_clear_bits()
| 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->total_bitmaps | 1-s32max |
| PARAM_VALUE | 1 | info | 4096-ptr_max |
| CAPPED_DATA | 1 | info->offset | 1 |
| DATA_SOURCE | 0 | ctl | $0 |
| DATA_SOURCE | 1 | info | r tree_search_offset |
| DATA_SOURCE | 4 | update_stat | $2 |
| FUZZY_MAX | 0 | ctl->total_bitmaps | 1 |
| PARAM_COMPARE | 1 | info->offset | <= $2 |
| PARAM_COMPARE | 2 | offset | >= $1->offset |
| NOSPEC | 2 | offset | |
| NOSPEC | 2 | offset | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 2 | offset | 1-s32max[c] |
| NO_OVERFLOW_SIMPLE | 2 | offset | |
| UNITS | 2 | offset | unit_byte |
| HALF_LOCKED2 | &cluster->lock | ||
| HALF_LOCKED2 | &ctl->tree_lock | ||
| HALF_LOCKED2 | 0 | &ctl->tree_lock | |
| TYPE_LOCK | (struct btrfs_free_space_ctl)->tree_lock |
fs/btrfs/free-space-cache.c trim_bitmaps() -> bitmap_clear_bits()
| 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 | info | 4096-ptr_max |
| PARAM_VALUE | 1 | info->offset | 0-18446744073709551614 |
| PARAM_VALUE | 2 | offset | 0-18446744073709551614 |
| PARAM_VALUE | 3 | bytes | 1-u64max |
| PARAM_VALUE | 4 | update_stat | 1 |
| CAPPED_DATA | 0 | ctl->block_group | 1 |
| CAPPED_DATA | 0 | &ctl->cache_writeout_mutex | 1 |
| CAPPED_DATA | 1 | info->offset | 1 |
| CAPPED_DATA | 2 | offset | 1 |
| CAPPED_DATA | 2 | offset | 1 |
| CAPPED_DATA | 3 | bytes | 1 |
| CAPPED_DATA | 3 | bytes | 1 |
| DATA_SOURCE | 1 | info | r tree_search_offset |
| DATA_SOURCE | 2 | offset | $2 [m] |
| NOSPEC | 2 | offset | |
| NOSPEC | 3 | bytes | |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| UNITS | 2 | offset | unit_byte |
| UNITS | 3 | bytes | unit_byte |
| 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 |