Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/btrfs/dev-replace.c btrfs_dev_replace_finishing() -> btrfs_scratch_superblocks()

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->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->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.prev->next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.lock.owner (-1)
PARAM_VALUE 0 fs_info->dev_replace.bio_counter.lock.owner_cpu u32max
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.replace_task 0
PARAM_VALUE 0 fs_info->dev_replace.replace_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_info->dev_replace.replace_wait.head.prev->next->next 4096-ptr_max
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.rwsem.wait_lock.owner (-1)
PARAM_VALUE 0 fs_info->dev_replace.rwsem.wait_lock.owner_cpu u32max
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->alloc_list.next 4096-ptr_max
PARAM_VALUE 0 fs_info->fs_devices->alloc_list.next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->fs_devices->alloc_list.next->prev 4096-ptr_max
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_error 0
PARAM_VALUE 0 fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->mapping_tree_lock.owner (-1)
PARAM_VALUE 0 fs_info->mapping_tree_lock.owner_cpu u32max
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->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 1 device 4096-ptr_max
PARAM_VALUE 1 device->dev_list.next->prev 4096-ptr_max
PARAM_VALUE 1 device->devid 0
PARAM_VALUE 1 device->devid_kobj.entry.next->next 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.entry.prev->next 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.entry.prev->prev 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.parent 0
PARAM_VALUE 1 device->devid_kobj.parent->release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.parent->release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.sd 0
PARAM_VALUE 1 device->devid_kobj.sd->__parent 0
PARAM_VALUE 1 device->devid_kobj.state_in_sysfs 0
PARAM_VALUE 1 device->fs_devices 4096-ptr_max
PARAM_VALUE 1 device->fs_info 4096-ptr_max
PARAM_VALUE 1 device->fs_info->fs_devices 4096-ptr_max
PARAM_VALUE 1 device->fs_info->fs_devices->latest_dev 4096-ptr_max
PARAM_VALUE 1 device->fs_info->sb 4096-ptr_max
PARAM_VALUE 1 device->kobj_unregister.done 0-4294967293,u32max
PARAM_VALUE 1 device->kobj_unregister.wait.lock.dep_map->name 0-255
PARAM_VALUE 1 device->kobj_unregister.wait.lock.owner (-1)
PARAM_VALUE 1 device->kobj_unregister.wait.lock.owner_cpu u32max
PARAM_VALUE 1 device->kobj_unregister.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 1 device->kobj_unregister.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 1 device->post_commit_list.next 4096-ptr_max
BUF_SIZE 0 fs_info (-1),128
BUF_SIZE 0 fs_info (-1),128
CAPPED_DATA 0 &fs_info->chunk_mutex 1
CAPPED_DATA 1 device 1
CAPPED_DATA 1 &device->post_commit_list 1
DATA_SOURCE 0 fs_info $0
PARAM_COMPARE 1 &device->post_commit_list == $1->post_commit_list.next
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 fs_info->csum_size
UNITS 0 fs_info unit_byte
LOCK2 &dev_replace->lock_finishing_cancel_unmount
TYPE_LOCK (struct btrfs_dev_replace)->lock_finishing_cancel_unmount

fs/btrfs/volumes.c btrfs_destroy_dev_replace_tgtdev() -> btrfs_scratch_superblocks()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->fs_devices 4096-ptr_max
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.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.first_waiter->task->usage.refs.counter s32min-s32max
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->latest_dev 4096-ptr_max
PARAM_VALUE 0 fs_info->fs_devices->latest_dev->bdev 1-u64max
PARAM_VALUE 0 fs_info->sb 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_bdev 1-u64max
PARAM_VALUE 1 device 4096-ptr_max
PARAM_VALUE 1 device->dev_list.next->prev 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.entry.next->next 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.entry.prev->next 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.entry.prev->prev 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.parent 0
PARAM_VALUE 1 device->devid_kobj.parent->release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.parent->release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 1 device->devid_kobj.sd 0
PARAM_VALUE 1 device->devid_kobj.sd->__parent 0
PARAM_VALUE 1 device->devid_kobj.state_in_sysfs 0
PARAM_VALUE 1 device->fs_info 4096-ptr_max
PARAM_VALUE 1 device->fs_info->fs_devices 4096-ptr_max
PARAM_VALUE 1 device->fs_info->fs_devices->device_list_mutex.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->fs_devices->device_list_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 device->fs_info->fs_devices->device_list_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 device->fs_info->fs_devices->device_list_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->fs_devices->latest_dev 4096-ptr_max
PARAM_VALUE 1 device->fs_info->fs_devices->latest_dev->bdev 1-u64max
PARAM_VALUE 1 device->fs_info->sb 4096-ptr_max
PARAM_VALUE 1 device->fs_info->sb->s_bdev 1-u64max
PARAM_VALUE 1 device->kobj_unregister.done 0-4294967293,u32max
PARAM_VALUE 1 device->kobj_unregister.wait.lock.dep_map->name 0-255
PARAM_VALUE 1 device->kobj_unregister.wait.lock.owner (-1)
PARAM_VALUE 1 device->kobj_unregister.wait.lock.owner_cpu u32max
PARAM_VALUE 1 device->kobj_unregister.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 1 device->kobj_unregister.wait.task_list.prev->next->next 4096-ptr_max
CAPPED_DATA 1 device 1
DATA_SOURCE 1 device $0
NOCHECK_CALL
UNITS 0 fs_info unit_byte
HALF_LOCKED2 &dev_replace->lock_finishing_cancel_unmount

fs/btrfs/volumes.c btrfs_rm_device() -> btrfs_scratch_superblocks()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->chunk_root->fs_info->qgroup_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->chunk_root->qgroup_meta_rsv_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->exclusive_operation 4
PARAM_VALUE 0 fs_info->fs_devices 4096-ptr_max
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.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 fs_info->fs_devices->device_list_mutex.first_waiter->task->usage.refs.counter s32min-s32max
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->super_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->swapfile_pins_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 device 4096-ptr_max
PARAM_VALUE 1 device->bdev 0,4096-ptr_max
PARAM_VALUE 1 device->bdev->bd_fsfreeze_count.counter 0-s32max
PARAM_VALUE 1 device->dev_list.next->prev 4096-ptr_max
PARAM_VALUE 1 device->disk_total_bytes 0-18446744073709551104
PARAM_VALUE 1 device->fs_devices 4096-ptr_max
PARAM_VALUE 1 device->fs_info 4096-ptr_max
PARAM_VALUE 1 device->fs_info->block_group_cache_lock.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->chunk_mutex.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->chunk_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 device->fs_info->chunk_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->chunk_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 1 device->fs_info->chunk_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 1 device->fs_info->chunk_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 1 device->fs_info->chunk_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 device->fs_info->chunk_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 1 device->fs_info->data_sinfo->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->dev_replace.replace_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 1 device->fs_info->dev_replace.replace_wait.head.prev->next->next 4096-ptr_max
PARAM_VALUE 1 device->fs_info->dev_root->qgroup_meta_rsv_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->discard_ctl.work->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 1 device->fs_info->fs_devices 4096-ptr_max
PARAM_VALUE 1 device->fs_info->fs_devices->latest_dev 4096-ptr_max
PARAM_VALUE 1 device->fs_info->fs_devices->latest_dev->bdev 1-u64max
PARAM_VALUE 1 device->fs_info->fs_devices->per_profile_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->reclaim_bgs_lock.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->reclaim_bgs_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 device->fs_info->sb 4096-ptr_max
PARAM_VALUE 1 device->fs_info->sb->s_bdev 1-u64max
PARAM_VALUE 1 device->fs_info->scrub_lock.dep_map->name 0-255
PARAM_VALUE 1 device->fs_info->scrub_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 device->fs_info->scrub_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 1 device->fs_info->scrub_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 device->post_commit_list.next 4096-ptr_max
PARAM_VALUE 1 device->scrub_ctx 0,4096-ptr_max
PARAM_VALUE 1 device->scrub_ctx->cancel_req.counter s32min-s32max
CAPPED_DATA 1 device 1
CAPPED_DATA 1 device->bdev 1
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 device r btrfs_find_device
CAPABLE 0 21
NOCHECK_CALL
UNITS 0 fs_info unit_byte