Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/btrfs/scrub.c scrub_enumerate_chunks() -> btrfs_freeze_block_group()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
CAPPED_DATA 0 cache->start 1
DATA_SOURCE 0 cache r btrfs_lookup_block_group
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &cache->lock
TYPE_LOCK (struct btrfs_block_group)->lock

fs/btrfs/free-space-cache.c btrfs_trim_block_group() -> btrfs_freeze_block_group()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
CAPPED_DATA 0 cache->start 1
DATA_SOURCE 0 cache $0
CAPABLE 0 21
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &cache->lock
TYPE_LOCK (struct btrfs_block_group)->lock

fs/btrfs/free-space-cache.c btrfs_trim_block_group_bitmaps() -> btrfs_freeze_block_group()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
CAPPED_DATA 0 cache->discard_eligible_time 1
DATA_SOURCE 0 cache $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &cache->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct btrfs_block_group)->lock

fs/btrfs/free-space-cache.c btrfs_trim_block_group_extents() -> btrfs_freeze_block_group()

Type Parameter Key Value
PARAM_VALUE 0 cache 4096-ptr_max
CAPPED_DATA 0 cache->discard_eligible_time 1
DATA_SOURCE 0 cache $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &cache->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct btrfs_block_group)->lock

fs/btrfs/block-group.c btrfs_delete_unused_bgs() -> btrfs_freeze_block_group()

Type Parameter Key Value
PARAM_VALUE 0 cache 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