Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/btrfs/block-group.c btrfs_block_group_should_use_size_class() -> btrfs_is_block_group_data_only()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
CAPPED_DATA 0 block_group 1
DATA_SOURCE 0 block_group $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 block_group->reserved
HALF_LOCKED2 &caching_ctl->mutex
HALF_LOCKED2 &fs_info->commit_root_sem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &sinfo->groups_sem
HALF_LOCKED2 &space_info->groups_sem
HALF_LOCKED2 &space_info->lock
HALF_LOCKED2 0 &block_group->lock

fs/btrfs/discard.c add_to_discard_list() -> btrfs_is_block_group_data_only()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
BUF_SIZE 0 block_group (-1),1-s32max
BUF_SIZE 0 block_group (-1),1-s32max
BUF_SIZE 0 block_group->fs_info (-1),11312
CAPPED_DATA 0 block_group 1
DATA_SOURCE 0 block_group $1
NOSPEC 0 block_group->discard_cursor
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 block_group->discard_cursor 1-s32max[c]
NO_OVERFLOW_SIMPLE 0 block_group->alloc_offset
NO_OVERFLOW_SIMPLE 0 block_group->full_stripe_len
NO_OVERFLOW_SIMPLE 0 block_group->pinned
NO_OVERFLOW_SIMPLE 0 block_group->reserved

fs/btrfs/discard.c btrfs_discard_update_discardable() -> btrfs_is_block_group_data_only()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
BUF_SIZE 0 block_group (-1)-s32max
BUF_SIZE 0 block_group (-1)-s32max
BUF_SIZE 0 block_group->fs_info (-1),11312
CAPPED_DATA 0 block_group 1
DATA_SOURCE 0 block_group $0
NOSPEC 0 block_group->discard_cursor
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 block_group->discard_cursor 1-s32max[c]
NO_OVERFLOW_SIMPLE 0 block_group->fs_info->nodesize
NO_OVERFLOW_SIMPLE 0 block_group->fs_info->sectorsize
NO_OVERFLOW_SIMPLE 0 block_group->full_stripe_len
NO_OVERFLOW_SIMPLE 0 block_group->pinned
NO_OVERFLOW_SIMPLE 0 block_group->reserved
NO_OVERFLOW_SIMPLE 0 block_group->space_info->bytes_may_use
NO_OVERFLOW_SIMPLE 0 block_group->start
LOCK2 &ctl->tree_lock
HALF_LOCKED2 &caching_ctl->mutex
HALF_LOCKED2 &fs_info->commit_root_sem
TYPE_LOCK (struct btrfs_free_space_ctl)->tree_lock

fs/btrfs/discard.c peek_discard_list() -> btrfs_is_block_group_data_only()

Type Parameter Key Value
PARAM_VALUE 0 block_group 4096-ptr_max
CAPPED_DATA 0 block_group->discard_eligible_time 1
DATA_SOURCE 0 block_group r find_next_block_group
PREEMPT_ADD <- disables preempt
LOCK2 &discard_ctl->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct btrfs_discard_ctl)->lock