Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/btrfs/free-space-cache.c btrfs_remove_free_space() -> tree_search_offset()

Type Parameter Key Value
PARAM_VALUE 0 ctl 4096-ptr_max
PARAM_VALUE 0 ctl->tree_lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 bitmap_only 0
PARAM_VALUE 3 fuzzy 0
DATA_SOURCE 1 offset $1 [m]
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 1 offset unit_byte
LOCK2 0 &ctl->tree_lock
TYPE_LOCK (struct btrfs_free_space_ctl)->tree_lock

fs/btrfs/free-space-cache.c btrfs_remove_free_space() -> tree_search_offset()

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 2 bitmap_only 1
PARAM_VALUE 3 fuzzy 0
PREEMPT_ADD <- disables preempt
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 find_free_space() -> tree_search_offset()

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->free_space_offset.rb_node 1-u64max
PARAM_VALUE 0 ctl->tree_lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 bitmap_only 0
PARAM_VALUE 3 fuzzy 1
DATA_SOURCE 0 ctl $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
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 insert_into_bitmap() -> tree_search_offset()

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 2 bitmap_only 1
PARAM_VALUE 3 fuzzy 0
DATA_SOURCE 0 ctl $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ctl->tree_lock
HALF_LOCKED2 &ctl->cache_writeout_mutex
TYPE_LOCK (struct btrfs_free_space_ctl)->tree_lock

fs/btrfs/free-space-cache.c reset_trimming_bitmap() -> tree_search_offset()

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 2 bitmap_only 1
PARAM_VALUE 3 fuzzy 0
CAPPED_DATA 0 ctl->block_group 1
DATA_SOURCE 0 ctl $0
DATA_SOURCE 1 offset $1
PREEMPT_ADD <- disables preempt
UNITS 1 offset unit_byte
LOCK2 0 &ctl->tree_lock
TYPE_LOCK (struct btrfs_free_space_ctl)->tree_lock

fs/btrfs/free-space-cache.c setup_cluster_bitmap() -> tree_search_offset()

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 s32min-(-1),1-s32max
PARAM_VALUE 2 bitmap_only 1
PARAM_VALUE 3 fuzzy 0
DATA_SOURCE 1 offset r offset_to_bitmap
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 offset unit_byte
LOCK2 &cluster->lock
LOCK2 &cluster->refill_lock
LOCK2 &ctl->tree_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_free_space_ctl)->tree_lock
TYPE_LOCK (struct btrfs_space_info)->groups_sem

fs/btrfs/free-space-cache.c setup_cluster_no_bitmap() -> tree_search_offset()

Type Parameter Key Value
PARAM_VALUE 0 ctl 4096-ptr_max
PARAM_VALUE 2 bitmap_only 0
PARAM_VALUE 3 fuzzy 1
DATA_SOURCE 1 offset $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 offset
UNITS 1 offset unit_byte
LOCK2 &cluster->lock
LOCK2 &cluster->refill_lock
LOCK2 &ctl->tree_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_free_space_ctl)->tree_lock
TYPE_LOCK (struct btrfs_space_info)->groups_sem

fs/btrfs/free-space-cache.c steal_from_bitmap_to_end() -> tree_search_offset()

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 2 bitmap_only 1
PARAM_VALUE 3 fuzzy 0
DATA_SOURCE 0 ctl $0
DATA_SOURCE 1 offset r offset_to_bitmap
FUZZY_MAX 0 ctl->total_bitmaps 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
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() -> tree_search_offset()

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 2 bitmap_only 1
PARAM_VALUE 3 fuzzy 0
DATA_SOURCE 0 ctl $0
FUZZY_MAX 0 ctl->total_bitmaps 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 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 test_add_free_space_entry() -> tree_search_offset()

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.magic 4096-ptr_max
PARAM_VALUE 0 ctl->tree_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctl->trimming_ranges.next 4096-ptr_max
PARAM_VALUE 0 ctl->trimming_ranges.prev 4096-ptr_max
PARAM_VALUE 2 bitmap_only 1
PARAM_VALUE 3 fuzzy 0
PREEMPT_ADD <- disables preempt
LOCK2 0 &ctl->tree_lock
TYPE_LOCK (struct btrfs_free_space_ctl)->tree_lock

fs/btrfs/free-space-cache.c test_check_exists() -> tree_search_offset()

Type Parameter Key Value
PARAM_VALUE 0 ctl 4096-ptr_max
PARAM_VALUE 0 ctl->tree_lock.rlock.dep_map->name 0-255
PARAM_VALUE 2 bitmap_only 0
PARAM_VALUE 3 fuzzy 0
DATA_SOURCE 1 offset $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 test_check_exists() -> tree_search_offset()

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 2 bitmap_only 1
PARAM_VALUE 3 fuzzy 0
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() -> tree_search_offset()

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 offset 0-18446744073709551614
PARAM_VALUE 2 bitmap_only 1
PARAM_VALUE 3 fuzzy 0
CAPPED_DATA 0 ctl->block_group 1
CAPPED_DATA 0 &ctl->cache_writeout_mutex 1
CAPPED_DATA 1 offset 1
CAPPED_DATA 1 offset 1
PREEMPT_ADD <- disables preempt
UNITS 1 offset unit_byte
LOCK2 0 &ctl->cache_writeout_mutex
LOCK2 0 &ctl->tree_lock
TYPE_LOCK (struct btrfs_free_space_ctl)->cache_writeout_mutex
TYPE_LOCK (struct btrfs_free_space_ctl)->tree_lock

fs/btrfs/free-space-cache.c trim_no_bitmap() -> tree_search_offset()

Type Parameter Key Value
PARAM_VALUE 0 ctl 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 offset 0-18446744073709551614
PARAM_VALUE 2 bitmap_only 0
PARAM_VALUE 3 fuzzy 1
CAPPED_DATA 0 &ctl->cache_writeout_mutex 1
CAPPED_DATA 1 offset 1
CAPPED_DATA 1 offset 1
DATA_SOURCE 1 offset $2 [m]
NOSPEC 1 offset
NOSPEC 1 offset
PREEMPT_ADD <- disables preempt
USER_DATA 1 offset 1-s32max[c]
UNITS 1 offset unit_byte
LOCK2 0 &ctl->cache_writeout_mutex
LOCK2 0 &ctl->tree_lock
TYPE_LOCK (struct btrfs_free_space_ctl)->cache_writeout_mutex
TYPE_LOCK (struct btrfs_free_space_ctl)->tree_lock

fs/btrfs/free-space-cache.c try_merge_free_space() -> tree_search_offset()

Type Parameter Key Value
PARAM_VALUE 2 bitmap_only 0
PARAM_VALUE 3 fuzzy 0
DATA_SOURCE 0 ctl $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 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 try_merge_free_space() -> tree_search_offset()

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 2 bitmap_only 0
PARAM_VALUE 3 fuzzy 0
DATA_SOURCE 0 ctl $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 offset 0-2147483646
UNITS 1 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