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-tree.c __btrfs_add_to_free_space_tree() -> __add_block_group_free_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | trans->fs_info->block_group_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->block_group_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->btree_inode->i_mapping->host->i_sb->s_export_op->fh_to_dentry | 0,8684,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max |
| PARAM_VALUE | 0 | trans->fs_info->chunk_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->chunk_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->commit_root_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->commit_root_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->dev_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->dev_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->quota_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->quota_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->remap_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->remap_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->sb->s_umount.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->sb->s_umount.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->stripe_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->stripe_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->transaction_kthread->sched_class->uclamp_enabled | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->tree_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->tree_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->uuid_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->uuid_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | block_group | 4096-ptr_max |
| PARAM_VALUE | 1 | block_group->fs_info->sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648,2712 |
| PARAM_VALUE | 1 | block_group->fs_info->tree_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | block_group->fs_info->tree_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | block_group->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 1 | block_group->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 2 | path | 1-u64max |
| PARAM_VALUE | 2 | *path->slots | s32min-s32max |
| BUF_SIZE | 0 | trans | (-1)-s32max |
| BUF_SIZE | 0 | trans | (-1)-s32max |
| BUF_SIZE | 0 | trans->pending_snapshot | (-1),208 |
| BUF_SIZE | 1 | block_group | (-1),320,336,864,936,992,1024,4096,11232,11240,11312 |
| BUF_SIZE | 1 | block_group | (-1),320,336,864,936,992,1024,4096,11232,11240,11312 |
| BUF_SIZE | 1 | block_group->fs_info | (-1),11312 |
| BUF_SIZE | 2 | path | (-1)-s32max |
| BUF_SIZE | 2 | path | (-1)-s32max |
| CAPPED_DATA | 2 | path | 1 |
| DATA_SOURCE | 0 | trans | $0 |
| DATA_SOURCE | 1 | block_group | $1 |
| DATA_SOURCE | 2 | path | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | trans->fs_info->chunk_root->dirty_log_pages.inode->disk_i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->fs_info->chunk_root->dirty_log_pages.inode->vfs_inode.i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->fs_info->tree_root->dirty_log_pages.inode->disk_i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->fs_info->tree_root->dirty_log_pages.inode->vfs_inode.i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->dirty_pages.inode->disk_i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->dirty_pages.inode->vfs_inode.i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->dirty_pages.inode->vfs_inode.i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->pinned_extents.inode->disk_i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->pinned_extents.inode->vfs_inode.i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->pinned_extents.inode->vfs_inode.i_size | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->free_space_ctl->block_group->full_stripe_len | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->free_space_ctl->block_group->start | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->fs_info->nodesize | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->fs_info->sectorsize | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->full_stripe_len | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->length | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->start | |
| UNITS | 1 | block_group | unit_byte |
| USER_PTR | 0 | trans->pending_snapshot->inherit | |
| HALF_LOCKED2 | 0 | &trans->fs_info->commit_root_sem | |
| HALF_LOCKED2 | 0 | &trans->fs_info->fs_devices->device_list_mutex | |
| HALF_LOCKED2 | 0 | &trans->fs_info->fs_roots_radix_lock | |
| HALF_LOCKED2 | 0 | &trans->fs_info->qgroup_ioctl_lock | |
| HALF_LOCKED2 | 0 | &trans->fs_info->qgroup_lock | |
| HALF_LOCKED2 | 0 | &trans->fs_info->unused_bg_unpin_mutex | |
| HALF_LOCKED2 | 0 | &trans->transaction->delayed_refs.lock | |
| HALF_LOCKED2 | 1 | &block_group->free_space_lock |
fs/btrfs/free-space-tree.c __btrfs_remove_from_free_space_tree() -> __add_block_group_free_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | trans | 4096-ptr_max |
| PARAM_VALUE | 0 | trans->fs_info->block_group_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->block_group_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->chunk_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->chunk_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->commit_root_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->commit_root_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->dev_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->dev_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->quota_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->quota_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->remap_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->remap_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->sb->s_umount.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->sb->s_umount.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->stripe_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->stripe_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->tree_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->tree_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->uuid_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->uuid_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | block_group | 4096-ptr_max |
| PARAM_VALUE | 1 | block_group->free_space_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | block_group->free_space_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 1 | block_group->free_space_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 2 | path | 1-u64max |
| BUF_SIZE | 0 | trans->pending_snapshot | (-1),208 |
| BUF_SIZE | 1 | block_group | (-1),992 |
| BUF_SIZE | 1 | block_group | (-1),992 |
| BUF_SIZE | 1 | block_group->fs_info | (-1),11312 |
| DATA_SOURCE | 0 | trans | $0 |
| DATA_SOURCE | 1 | block_group | $1 |
| DATA_SOURCE | 2 | path | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | trans->fs_info->tree_root->dirty_log_pages.inode->disk_i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->fs_info->tree_root->dirty_log_pages.inode->vfs_inode.i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->dirty_pages.inode->disk_i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->dirty_pages.inode->vfs_inode.i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->pinned_extents.inode->vfs_inode.i_bytes | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->fs_info->nodesize | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->fs_info->sectorsize | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->full_stripe_len | |
| USER_PTR | 0 | trans->pending_snapshot->inherit | |
| HALF_LOCKED2 | 1 | &block_group->free_space_lock |
fs/btrfs/free-space-tree.c btrfs_add_block_group_free_space() -> __add_block_group_free_space()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | trans | 4096-ptr_max |
| PARAM_VALUE | 0 | trans->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | trans->fs_info->btree_inode->i_mapping->host->i_sb->s_export_op->fh_to_dentry | 0,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max |
| PARAM_VALUE | 0 | trans->fs_info->chunk_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->chunk_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->commit_root_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->commit_root_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->dev_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->dev_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->remap_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->remap_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->sb->s_umount.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->sb->s_umount.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->stripe_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->stripe_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->tree_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->tree_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | block_group | 4096-ptr_max |
| PARAM_VALUE | 1 | block_group->free_space_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | block_group->free_space_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 1 | block_group->free_space_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 1 | block_group->free_space_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | block_group->free_space_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 1 | block_group->free_space_lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 2 | path | 0 |
| BUF_SIZE | 0 | trans | (-1)-s32max |
| BUF_SIZE | 0 | trans | (-1)-s32max |
| BUF_SIZE | 0 | trans->pending_snapshot | (-1),208 |
| BUF_SIZE | 1 | block_group | (-1),984 |
| BUF_SIZE | 1 | block_group | (-1),984 |
| BUF_SIZE | 1 | block_group->fs_info | (-1),11312 |
| CAPPED_DATA | 1 | &block_group->free_space_lock | 1 |
| DATA_SOURCE | 0 | trans | $0 |
| DATA_SOURCE | 1 | block_group | $1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | trans->fs_info->tree_root->dirty_log_pages.inode->disk_i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->fs_info->tree_root->dirty_log_pages.inode->vfs_inode.i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->dirty_pages.inode->disk_i_size | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->dirty_pages.inode->vfs_inode.i_bytes | |
| NO_OVERFLOW_SIMPLE | 0 | trans->transaction->dirty_pages.inode->vfs_inode.i_size | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->free_space_ctl->block_group->full_stripe_len | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->fs_info->nodesize | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->fs_info->sectorsize | |
| NO_OVERFLOW_SIMPLE | 1 | block_group->full_stripe_len | |
| USER_PTR | 0 | trans->pending_snapshot->inherit | |
| LOCK2 | 1 | &block_group->free_space_lock | |
| HALF_LOCKED2 | &fs_info->remap_mutex | ||
| TYPE_LOCK | (struct btrfs_block_group)->free_space_lock |