Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/btrfs/dev-replace.c btrfs_dev_replace_update_device_in_mapping_tree() -> btrfs_find_chunk_map_nolock()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->chunk_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_info->chunk_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 fs_info->chunk_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->chunk_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->chunk_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->chunk_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 fs_info->chunk_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 fs_info->delalloc_root_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->delalloc_root_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_info->delalloc_root_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->delalloc_root_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 fs_info->delalloc_root_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->delalloc_root_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 fs_info->delalloc_root_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 fs_info->delalloc_root_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 fs_info->delalloc_root_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 fs_info->delalloc_root_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->delalloc_roots.next 4096-ptr_max
PARAM_VALUE 0 fs_info->delalloc_roots.next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->delalloc_roots.prev 4096-ptr_max
PARAM_VALUE 0 fs_info->delalloc_roots.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_info->delalloc_roots.prev->next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->delalloc_roots.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_info->dev_replace.item_needs_writeback 1
PARAM_VALUE 0 fs_info->dev_replace.lock_finishing_cancel_unmount.dep_map->name 0-255
PARAM_VALUE 0 fs_info->dev_replace.lock_finishing_cancel_unmount.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->dev_replace.lock_finishing_cancel_unmount.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->dev_replace.lock_finishing_cancel_unmount.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->dev_replace.lock_finishing_cancel_unmount.wait_lock.owner (-1)
PARAM_VALUE 0 fs_info->dev_replace.lock_finishing_cancel_unmount.wait_lock.owner_cpu u32max
PARAM_VALUE 0 fs_info->dev_replace.replace_state 2
PARAM_VALUE 0 fs_info->dev_replace.rwsem.dep_map->name 0-255
PARAM_VALUE 0 fs_info->dev_replace.rwsem.first_waiter->handoff_set 1
PARAM_VALUE 0 fs_info->dev_replace.rwsem.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 fs_info->dev_replace.rwsem.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 fs_info->dev_replace.rwsem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->dev_replace.rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->dev_replace.rwsem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->dev_replace.srcdev 0
PARAM_VALUE 0 fs_info->dev_replace.tgtdev 0
PARAM_VALUE 0 fs_info->dev_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->dev_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->dev_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->dev_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 fs_info->fs_error 0
PARAM_VALUE 0 fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->mapping_tree_lock.owner_cpu 0
PARAM_VALUE 0 fs_info->mapping_tree_lock.raw_lock.cnts.counter 0-s32max
PARAM_VALUE 0 fs_info->ordered_operations_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_info->ordered_operations_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->ordered_operations_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 fs_info->ordered_operations_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->ordered_operations_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 fs_info->ordered_operations_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 fs_info->ordered_operations_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 fs_info->ordered_operations_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->ordered_root_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->ordered_roots.next 4096-ptr_max
PARAM_VALUE 0 fs_info->ordered_roots.next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->ordered_roots.prev 4096-ptr_max
PARAM_VALUE 0 fs_info->ordered_roots.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_info->ordered_roots.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_info->scrub_workers->flags 0-4294967295
PARAM_VALUE 0 fs_info->scrub_workers->flush_color s32min-s32max
PARAM_VALUE 0 fs_info->scrub_workers->nr_drainers s32min-s32max
PARAM_VALUE 0 fs_info->scrub_workers->work_color s32min-s32max
PARAM_VALUE 0 fs_info->scrub_workers->wq_dev 0-s64max
PARAM_VALUE 2 length u64max
BUF_SIZE 0 fs_info (-1),128
BUF_SIZE 0 fs_info (-1),128
DATA_SOURCE 0 fs_info $0
NO_OVERFLOW_SIMPLE 0 fs_info->csum_size
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
LOCK2 &dev_replace->lock_finishing_cancel_unmount
LOCK2 &dev_replace->rwsem
LOCK2 &fs_devices->device_list_mutex
LOCK2 0 &fs_info->chunk_mutex
LOCK2 0 &fs_info->mapping_tree_lock
TYPE_LOCK (struct btrfs_dev_replace)->lock_finishing_cancel_unmount
TYPE_LOCK (struct btrfs_dev_replace)->rwsem
TYPE_LOCK (struct btrfs_fs_devices)->device_list_mutex
TYPE_LOCK (struct btrfs_fs_info)->chunk_mutex
TYPE_LOCK (struct btrfs_fs_info)->mapping_tree_lock

fs/btrfs/volumes.c btrfs_find_chunk_map() -> btrfs_find_chunk_map_nolock()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->block_group_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->block_group_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->chunk_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->chunk_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->chunk_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->chunk_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->cleanup_work_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->cleanup_work_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->dev_root->fs_info->tree_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->dev_root->fs_info->tree_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->dev_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->dev_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->fs_root->fs_info->sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648,2712
PARAM_VALUE 0 fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->quota_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->quota_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->remap_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->remap_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->remap_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->remap_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->sb->s_bdi->wb_switch_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->sb->s_bdi->wb_switch_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->stripe_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->tree_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->tree_root->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 0 fs_info->uuid_tree_rescan_sem.first_waiter->up 0-1
BUF_SIZE 0 fs_info (-1),1-s32max
BUF_SIZE 0 fs_info (-1),1-s32max
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 logical $1
DATA_SOURCE 2 length $2
NOSPEC 1 logical
NOSPEC 1 logical
NOSPEC 2 length
NOSPEC 2 length
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 logical 1-s32max[c]
USER_DATA 2 length 1-u64max[c]
NO_OVERFLOW_SIMPLE 0 fs_info->fs_error
NO_OVERFLOW_SIMPLE 0 fs_info->nodesize
NO_OVERFLOW_SIMPLE 0 fs_info->sectorsize
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
UNITS 2 length unit_byte
LOCK2 0 &fs_info->mapping_tree_lock
HALF_LOCKED2 0 &fs_info->fs_devices->device_list_mutex
HALF_LOCKED2 0 &fs_info->reclaim_bgs_lock
HALF_LOCKED2 0 &fs_info->unused_bg_unpin_mutex
TYPE_LOCK (struct btrfs_fs_info)->mapping_tree_lock

fs/btrfs/relocation.c mark_chunk_remapped() -> btrfs_find_chunk_map_nolock()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 2 length 1
DATA_SOURCE 1 logical $2
UNITS 0 fs_info unit_byte
UNITS 1 logical unit_byte
LOCK2 &fs_info->remap_mutex
LOCK2 0 &fs_info->mapping_tree_lock
TYPE_LOCK (struct btrfs_fs_info)->mapping_tree_lock
TYPE_LOCK (struct btrfs_fs_info)->remap_mutex