Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 7 files:
- fs/btrfs/block-group.c
- fs/btrfs/discard.c
- fs/btrfs/extent-tree.c
- fs/btrfs/free-space-cache.c
- fs/btrfs/relocation.c
- fs/btrfs/space-info.c, line 2152
- fs/btrfs/zoned.c
Smatch caller information:
fs/btrfs/space-info.c do_reclaim_sweep() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| CAPPED_DATA | 0 | &cache->list | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &space_info->groups_sem | ||
| TYPE_LOCK | (struct btrfs_space_info)->groups_sem |
fs/btrfs/free-space-cache.c btrfs_find_space_cluster() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->cached | 0-2,4-u32max |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->free_space_ctl | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->block_group | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->block_group->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->free_space_bytes.rb_root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->free_space_offset.rb_node | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->tree_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.wq->dfl_pwq | 0-s64max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.wq->saved_max_active | s32min-s32max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.wq->saved_min_active | s32min-s32max |
| CAPPED_DATA | 0 | cache | 1 |
| DATA_SOURCE | 0 | cache | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 btrfs_return_cluster_to_free_space() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| DATA_SOURCE | 0 | cache | $0 [m] |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cluster->lock | ||
| LOCK2 | &cluster->refill_lock | ||
| HALF_LOCKED2 | &space_info->groups_sem | ||
| TYPE_LOCK | (struct btrfs_free_cluster)->lock | ||
| TYPE_LOCK | (struct btrfs_free_cluster)->refill_lock |
fs/btrfs/relocation.c adjust_block_group_remap_bytes() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->dirty_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | &cache->dirty_list | 1 |
| DATA_SOURCE | 0 | cache | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &fs_info->remap_mutex | ||
| LOCK2 | &trans->transaction->dirty_bgs_lock | ||
| TYPE_LOCK | (struct btrfs_fs_info)->remap_mutex | ||
| TYPE_LOCK | (struct btrfs_transaction)->dirty_bgs_lock |
fs/btrfs/relocation.c adjust_identity_remap_count() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->dirty_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | &cache->dirty_list | 1 |
| DATA_SOURCE | 0 | cache | $1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &trans->transaction->dirty_bgs_lock | ||
| HALF_LOCKED2 | &fs_info->remap_mutex | ||
| TYPE_LOCK | (struct btrfs_transaction)->dirty_bgs_lock |
fs/btrfs/relocation.c start_block_group_remapping() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->dirty_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->flags | 0,2048-u64max |
| PARAM_VALUE | 0 | cache->free_space_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->free_space_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | cache->free_space_lock.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | cache->free_space_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | cache->fs_info->global_root_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->fs_info->sb->s_cop->inode_info_offs | 1632,1720,2632,2648 |
| PARAM_VALUE | 0 | cache->identity_remap_count | 1-u32max |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->using_free_space_bitmaps_cached | 1 |
| CAPPED_DATA | 0 | &cache->dirty_list | 1 |
| DATA_SOURCE | 0 | cache | $2 |
| BIT_INFO | 0 | cache->flags | 0x800,0xffffffffffffffff |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &fs_info->remap_mutex | ||
| LOCK2 | &trans->transaction->dirty_bgs_lock | ||
| TYPE_LOCK | (struct btrfs_fs_info)->remap_mutex | ||
| TYPE_LOCK | (struct btrfs_transaction)->dirty_bgs_lock |
fs/btrfs/block-group.c block_group_cache_tree_search() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | cache | unit_byte |
| LOCK2 | &info->block_group_cache_lock | ||
| HALF_LOCKED2 | &info->cleaner_mutex | ||
| HALF_LOCKED2 | &info->commit_root_sem | ||
| HALF_LOCKED2 | &info->qgroup_rescan_lock | ||
| HALF_LOCKED2 | &info->reclaim_bgs_lock | ||
| TYPE_LOCK | (struct btrfs_fs_info)->block_group_cache_lock |
fs/btrfs/block-group.c btrfs_cache_block_group() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->cached | 1 |
| PARAM_VALUE | 0 | cache->caching_ctl | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->caching_ctl->block_group | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->caching_ctl->count.refs.counter | 2 |
| PARAM_VALUE | 0 | cache->caching_ctl->list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->caching_ctl->list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->caching_ctl->mutex.first_waiter | 0 |
| PARAM_VALUE | 0 | cache->caching_ctl->mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->caching_ctl->mutex.owner.counter | 0 |
| PARAM_VALUE | 0 | cache->caching_ctl->progress.counter | 0 |
| PARAM_VALUE | 0 | cache->caching_ctl->wait.head.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->caching_ctl->wait.head.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->caching_ctl->work.flags | 0 |
| PARAM_VALUE | 0 | cache->caching_ctl->work.func | 2080431101377433600 |
| PARAM_VALUE | 0 | cache->caching_ctl->work.ordered_func | 0 |
| PARAM_VALUE | 0 | cache->caching_ctl->work.ordered_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->caching_ctl->work.ordered_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->block_group_cache_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->fs_info->block_group_cache_lock.owner | (-1) |
| PARAM_VALUE | 0 | cache->fs_info->block_group_cache_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | cache->fs_info->caching_block_groups.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->caching_block_groups.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->caching_block_groups.prev->next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->remap_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->remap_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| BUF_SIZE | 0 | cache->caching_ctl | 400 |
| DATA_SOURCE | 0 | cache | $0 |
| BIT_INFO | 0 | cache->flags | 0x0,0xfffffffffffff7ff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &space_info->groups_sem |
fs/btrfs/block-group.c btrfs_delete_unused_bgs() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl->work.timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_queued | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.entry.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.entry.prev->next | 1-u64max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_hard | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_lazy | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_queued | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_soft | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648 |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->pinned | 0 |
| PARAM_VALUE | 0 | cache->space_info->fs_info->balance_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->space_info->groups_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->space_info->groups_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->space_info->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->start | 0-18446744073709551614 |
| PARAM_VALUE | 0 | *cache->fs_info->discard_ctl.work.timer->entry->next->pprev | 1-u64max |
| PARAM_VALUE | 0 | *cache->fs_info->discard_ctl.work.timer->entry.pprev | 4096-ptr_max |
| CAPPED_DATA | 0 | cache | 1 |
| CAPPED_DATA | 0 | cache->start | 1 |
| CAPPED_DATA | 0 | &cache->discard_list | 1 |
| CAPPED_DATA | 0 | &cache->list | 1 |
| PARAM_COMPARE | 0 | &cache->discard_list | == $0->discard_list.next |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &fs_info->reclaim_bgs_lock | ||
| TYPE_LOCK | (struct btrfs_fs_info)->reclaim_bgs_lock |
fs/btrfs/block-group.c btrfs_link_bg_list() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->commit_root_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->commit_root_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->unused_bgs_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->space_info->groups_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->space_info->groups_sem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | cache | (-1),1-s32max |
| BUF_SIZE | 0 | cache | (-1),1-s32max |
| BUF_SIZE | 0 | cache->fs_info | (-1),11312 |
| CAPPED_DATA | 0 | cache | 1 |
| CAPPED_DATA | 0 | &cache->bg_list | 1 |
| DATA_SOURCE | 0 | cache | $0 |
| PARAM_COMPARE | 0 | &cache->bg_list | == $0->bg_list.next |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | cache->free_space_ctl->block_group->full_stripe_len | |
| NO_OVERFLOW_SIMPLE | 0 | cache->full_stripe_len | |
| LOCK2 | &fs_info->unused_bgs_lock | ||
| HALF_LOCKED2 | &fs_info->chunk_mutex | ||
| HALF_LOCKED2 | &fs_info->reclaim_bgs_lock | ||
| HALF_LOCKED2 | &space_info->groups_sem | ||
| HALF_LOCKED2 | &space_info->lock | ||
| HALF_LOCKED2 | 0 | &cache->lock | |
| TYPE_LOCK | (struct btrfs_fs_info)->unused_bgs_lock |
fs/btrfs/block-group.c btrfs_mark_bg_fully_remapped() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648,2712 |
| PARAM_VALUE | 0 | cache->identity_remap_count | 0 |
| PARAM_VALUE | 0 | cache->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->space_info->groups_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->space_info->groups_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->space_info->lock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | &cache->bg_list | 1 |
| DATA_SOURCE | 0 | cache | $0 |
| PARAM_COMPARE | 0 | &cache->bg_list | == $0->bg_list.next |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &fs_info->unused_bgs_lock | ||
| HALF_LOCKED2 | &fs_info->remap_mutex | ||
| TYPE_LOCK | (struct btrfs_fs_info)->unused_bgs_lock |
fs/btrfs/block-group.c btrfs_mark_bg_unused() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->commit_root_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->commit_root_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648,2712 |
| PARAM_VALUE | 0 | cache->fs_info->unused_bgs_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->space_info->groups_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->space_info->groups_sem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | cache | (-1)-s32max |
| BUF_SIZE | 0 | cache | (-1)-s32max |
| BUF_SIZE | 0 | cache->fs_info | (-1),11312 |
| CAPPED_DATA | 0 | cache | 1 |
| CAPPED_DATA | 0 | &cache->bg_list | 1 |
| DATA_SOURCE | 0 | cache | $0 |
| PARAM_COMPARE | 0 | &cache->bg_list | == $0->bg_list.next |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | cache->free_space_ctl->block_group->full_stripe_len | |
| NO_OVERFLOW_SIMPLE | 0 | cache->full_stripe_len | |
| LOCK2 | &fs_info->unused_bgs_lock | ||
| HALF_LOCKED2 | &fs_info->reclaim_bgs_lock | ||
| HALF_LOCKED2 | &fs_info->remap_mutex | ||
| HALF_LOCKED2 | &space_info->groups_sem | ||
| HALF_LOCKED2 | &space_info->lock | ||
| HALF_LOCKED2 | 0 | &cache->lock | |
| TYPE_LOCK | (struct btrfs_fs_info)->unused_bgs_lock |
fs/btrfs/block-group.c btrfs_next_block_group() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->block_group_cache_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl->work.timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.block_group | 0 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work->timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.entry->pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_queued | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.entry.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.entry.prev->next | 1-u64max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_hard | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_lazy | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_queued | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_soft | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->fs_info->remap_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->remap_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | *cache->fs_info->discard_ctl.work.timer->entry->next->pprev | 1-u64max |
| PARAM_VALUE | 0 | *cache->fs_info->discard_ctl.work.timer->entry.pprev | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &fs_info->block_group_cache_lock | ||
| TYPE_LOCK | (struct btrfs_fs_info)->block_group_cache_lock |
fs/btrfs/block-group.c btrfs_populate_fully_remapped_bgs_list() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->identity_remap_count | 0 |
| CAPPED_DATA | 0 | cache->start | 1 |
| CAPPED_DATA | 0 | &cache->bg_list | 1 |
| PARAM_COMPARE | 0 | &cache->bg_list | == $0->bg_list.next |
| BIT_INFO | 0 | cache->flags | 0x800,0xffffffffffffffff |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| UNITS | 0 | cache | unit_byte |
| LOCK2 | &fs_info->unused_bgs_lock | ||
| TYPE_LOCK | (struct btrfs_fs_info)->unused_bgs_lock |
fs/btrfs/block-group.c btrfs_start_dirty_block_groups() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->dirty_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | &cache->dirty_list | 1 |
| CAPPED_DATA | 0 | &cache->io_list | 1 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &cur_trans->dirty_bgs_lock | ||
| LOCK2 | &trans->transaction->cache_write_mutex | ||
| TYPE_LOCK | (struct btrfs_transaction)->cache_write_mutex | ||
| TYPE_LOCK | (struct btrfs_transaction)->dirty_bgs_lock |
fs/btrfs/block-group.c btrfs_update_block_group() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->dirty_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->sb->s_cop->inode_info_offs | 1632,1720,2632,2648 |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->size_class | 0 |
| PARAM_VALUE | 0 | cache->space_info | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->space_info->lock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | &cache->dirty_list | 1 |
| DATA_SOURCE | 0 | cache | r btrfs_lookup_block_group |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &trans->transaction->dirty_bgs_lock | ||
| TYPE_LOCK | (struct btrfs_transaction)->dirty_bgs_lock |
fs/btrfs/block-group.c do_chunk_alloc() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->start | 0-18446744073709551614 |
| CAPPED_DATA | 0 | cache | 1 |
| CAPPED_DATA | 0 | cache->start | 1 |
| DATA_SOURCE | 0 | cache | r btrfs_create_chunk |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &fs_info->chunk_mutex | ||
| HALF_LOCKED2 | &fs_info->ro_block_group_mutex | ||
| TYPE_LOCK | (struct btrfs_fs_info)->chunk_mutex |
fs/btrfs/zoned.c btrfs_load_block_group_zone_info() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->active_bg_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->active_bg_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->active_bg_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->bg_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->cluster_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->cluster_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->cluster_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->cluster_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->cluster_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->data_rwsem.count.counter | 0 |
| PARAM_VALUE | 0 | cache->data_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter | 0 |
| PARAM_VALUE | 0 | cache->data_rwsem.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->data_rwsem.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | cache->data_rwsem.owner.counter | 0 |
| PARAM_VALUE | 0 | cache->dirty_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->dirty_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->dirty_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->dirty_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->dirty_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_index | 0 |
| PARAM_VALUE | 0 | cache->discard_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->block_group | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->block_group->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->cache_writeout_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->free_space_ctl->cache_writeout_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->extents_thresh | 157 |
| PARAM_VALUE | 0 | cache->free_space_ctl->trimming_ranges.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->trimming_ranges.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->trimming_ranges.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->trimming_ranges.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_ctl->trimming_ranges.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->free_space_lock.first_waiter | 0 |
| PARAM_VALUE | 0 | cache->free_space_lock.magic | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->free_space_lock.osq.tail.counter | 0 |
| PARAM_VALUE | 0 | cache->free_space_lock.owner.counter | 0 |
| PARAM_VALUE | 0 | cache->frozen.counter | 0 |
| PARAM_VALUE | 0 | cache->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->mapping_tree_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->fs_info->zone_size | 1-u64max |
| PARAM_VALUE | 0 | cache->full_stripe_len | 0-18446744073709486080 |
| PARAM_VALUE | 0 | cache->io_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->io_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->io_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->io_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->io_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->physical_map | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->physical_map->start | 0-18446744073709551614 |
| PARAM_VALUE | 0 | cache->ro_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->ro_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->ro_list.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->ro_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->ro_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->start | 0-18446744073709551614 |
| CAPPED_DATA | 0 | cache->alloc_offset | 1 |
| CAPPED_DATA | 0 | cache->meta_write_pointer | 1 |
| CAPPED_DATA | 0 | cache->physical_map->start | 1 |
| CAPPED_DATA | 0 | cache->start | 1 |
| DATA_SOURCE | 0 | cache | $0 |
| PARAM_COMPARE | 0 | cache->alloc_offset | <= $0->zone_capacity |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | cache->free_space_ctl->block_group->full_stripe_len | |
| HALF_LOCKED2 | &fs_info->chunk_mutex |
fs/btrfs/zoned.c btrfs_schedule_zone_finish_bg() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->zone_finish_work.func | 0-5456219147841110015,5456219147841110017-u64max |
| DATA_SOURCE | 0 | cache | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/btrfs/zoned.c btrfs_zone_activate() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->zone_active_bgs_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->fs_info->zone_size | 1-u64max |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->space_info->groups_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->space_info->groups_sem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | cache | (-1)-s32max |
| BUF_SIZE | 0 | cache | (-1)-s32max |
| DATA_SOURCE | 0 | cache | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | cache->fs_info->nodesize | |
| NO_OVERFLOW_SIMPLE | 0 | cache->fs_info->sectorsize | |
| NO_OVERFLOW_SIMPLE | 0 | cache->full_stripe_len | |
| LOCK2 | &fs_info->zone_active_bgs_lock | ||
| HALF_LOCKED2 | &fs_info->chunk_mutex | ||
| HALF_LOCKED2 | &space_info->groups_sem | ||
| TYPE_LOCK | (struct btrfs_fs_info)->zone_active_bgs_lock |
fs/btrfs/zoned.c btrfs_zone_finish_one_bg() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->alloc_offset | 1-u64max |
| PARAM_VALUE | 0 | cache->discard_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl->work.timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work->timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_hard | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_lazy | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_queued | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_soft | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.entry.next->next | 1-u64max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.entry.prev->prev | 1-u64max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.flags | 0-4294967295 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_hard | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_lazy | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_queued | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_soft | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->reserved | 0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &block_group->lock | ||
| LOCK2 | &fs_info->zone_active_bgs_lock | ||
| TYPE_LOCK | (struct btrfs_block_group)->lock | ||
| TYPE_LOCK | (struct btrfs_fs_info)->zone_active_bgs_lock |
fs/btrfs/zoned.c check_bg_is_active() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info | 4096-ptr_max |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fs_info->zoned_meta_io_lock |
fs/btrfs/extent-tree.c btrfs_grab_block_group() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->discard_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work->timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_hard | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_lazy | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_queued | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_soft | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.entry.next->next | 1-u64max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.entry.prev->prev | 1-u64max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.flags | 0-4294967295 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_queued | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.wq->dfl_pwq | 0-s64max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.wq->saved_max_active | s32min-s32max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.wq->saved_min_active | s32min-s32max |
| PARAM_VALUE | 0 | cache->ro | 0 |
| DATA_SOURCE | 0 | cache | $0 |
| BIT_INFO | 0 | cache->flags | 0x0,0xfffffffffffff7ff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &space_info->groups_sem | ||
| HALF_LOCKED2 | &fs_info->remap_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct btrfs_space_info)->groups_sem |
fs/btrfs/extent-tree.c btrfs_lock_cluster() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 1-u64max |
| PARAM_VALUE | 0 | cache->data_rwsem.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->data_rwsem.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->discard_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->discard_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl->work.timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work->timer->entry.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_hard | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_lazy | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_queued | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.timer.is_soft | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.entry.next->next | 1-u64max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.entry.prev->prev | 1-u64max |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.flags | 0-4294967295 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_hard | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_lazy | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_queued | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.is_soft | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->discard_ctl.work.work.lockdep_map->name | 0-255 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cluster->refill_lock | ||
| LOCK2 | &space_info->groups_sem | ||
| HALF_LOCKED2 | &fs_info->remap_mutex | ||
| HALF_LOCKED2 | &root->objectid_mutex | ||
| TYPE_LOCK | (struct btrfs_free_cluster)->refill_lock | ||
| TYPE_LOCK | (struct btrfs_space_info)->groups_sem |
fs/btrfs/discard.c __add_to_discard_list() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->discard_index | s32min-(-1),1-s32max |
| PARAM_VALUE | 0 | cache->discard_list.next | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->fs_info->commit_root_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->commit_root_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->remap_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->remap_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->tree_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->tree_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | cache | (-1),1-s32max |
| BUF_SIZE | 0 | cache | (-1),1-s32max |
| CAPPED_DATA | 0 | cache | 1 |
| CAPPED_DATA | 0 | &cache->discard_list | 1 |
| DATA_SOURCE | 0 | cache | $1 |
| PARAM_COMPARE | 0 | &cache->discard_list | == $0->discard_list.next |
| NOSPEC | 0 | cache->discard_cursor | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | cache->discard_cursor | 1-s32max[c] |
| NO_OVERFLOW_SIMPLE | 0 | cache->alloc_offset | |
| NO_OVERFLOW_SIMPLE | 0 | cache->pinned | |
| NO_OVERFLOW_SIMPLE | 0 | cache->reserved | |
| LOCK2 | &discard_ctl->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct btrfs_discard_ctl)->lock |
fs/btrfs/discard.c add_to_discard_unused_list() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->data_rwsem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->discard_index | 0 |
| PARAM_VALUE | 0 | cache->discard_state | 2 |
| PARAM_VALUE | 0 | cache->fs_info->commit_root_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->commit_root_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->remap_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->remap_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->sb->s_cop->inode_info_offs | 1632,1720,1808,2632,2648,2712 |
| PARAM_VALUE | 0 | cache->fs_info->tree_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->fs_info->tree_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | cache->io_ctl.inode->i_mapping->i_mmap_rwsem.first_waiter->type | 0-1 |
| BUF_SIZE | 0 | cache | (-1),1-s32max |
| BUF_SIZE | 0 | cache | (-1),1-s32max |
| BUF_SIZE | 0 | cache->fs_info | (-1),11312 |
| CAPPED_DATA | 0 | cache | 1 |
| CAPPED_DATA | 0 | &cache->discard_list | 1 |
| DATA_SOURCE | 0 | cache | $1 |
| NOSPEC | 0 | cache->discard_cursor | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | cache->discard_cursor | 1-s32max[c] |
| NO_OVERFLOW_SIMPLE | 0 | cache->alloc_offset | |
| NO_OVERFLOW_SIMPLE | 0 | cache->full_stripe_len | |
| NO_OVERFLOW_SIMPLE | 0 | cache->pinned | |
| NO_OVERFLOW_SIMPLE | 0 | cache->reserved | |
| LOCK2 | &discard_ctl->lock | ||
| TYPE_LOCK | (struct btrfs_discard_ctl)->lock |
fs/btrfs/discard.c peek_discard_list() -> btrfs_get_block_group()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| DATA_SOURCE | 0 | cache | r find_next_block_group |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &discard_ctl->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct btrfs_discard_ctl)->lock |