Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/btrfs/extent_io.c read_extent_buffer_pages() -> extent_buffer_uptodate()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
BUF_SIZE 0 eb (-1)-s32max
BUF_SIZE 0 eb (-1)-s32max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 0 &eb->lock

fs/btrfs/extent_io.c read_extent_buffer_pages_nowait() -> extent_buffer_uptodate()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
BUF_SIZE 0 eb (-1)-s32max
BUF_SIZE 0 eb (-1)-s32max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 0 &eb->lock

fs/btrfs/extent_io.c read_extent_buffer_pages_nowait() -> extent_buffer_uptodate()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
BUF_SIZE 0 eb (-1)-s32max
BUF_SIZE 0 eb (-1)-s32max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 0 &eb->lock

fs/btrfs/qgroup.c btrfs_qgroup_trace_subtree() -> extent_buffer_uptodate()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
BUF_SIZE 0 eb (-1)-s32max
BUF_SIZE 0 eb (-1)-s32max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &fs_info->cleaner_mutex
LOCK2 0 &eb->lock
HALF_LOCKED2 &next->lock
HALF_LOCKED2 &node->lock
TYPE_LOCK (struct btrfs_fs_info)->cleaner_mutex
TYPE_LOCK (struct extent_buffer)->lock

fs/btrfs/qgroup.c qgroup_trace_subtree_swap() -> extent_buffer_uptodate()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
BUF_SIZE 0 eb (-1)-s32max
BUF_SIZE 0 eb (-1)-s32max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dst_eb->lock
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 &trans->fs_info->commit_root_sem
HALF_LOCKED2 &trans->fs_info->fs_devices->device_list_mutex
HALF_LOCKED2 &trans->fs_info->fs_roots_radix_lock
HALF_LOCKED2 &trans->fs_info->qgroup_ioctl_lock
HALF_LOCKED2 &trans->fs_info->qgroup_lock
HALF_LOCKED2 &trans->fs_info->unused_bg_unpin_mutex
HALF_LOCKED2 &trans->transaction->delayed_refs.lock

fs/btrfs/qgroup.c qgroup_trace_subtree_swap() -> extent_buffer_uptodate()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
BUF_SIZE 0 eb (-1),1-s32max
BUF_SIZE 0 eb (-1),1-s32max
DATA_SOURCE 0 eb $2
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 &trans->fs_info->commit_root_sem
HALF_LOCKED2 &trans->fs_info->fs_devices->device_list_mutex
HALF_LOCKED2 &trans->fs_info->fs_roots_radix_lock
HALF_LOCKED2 &trans->fs_info->qgroup_ioctl_lock
HALF_LOCKED2 &trans->fs_info->qgroup_lock
HALF_LOCKED2 &trans->fs_info->unused_bg_unpin_mutex
HALF_LOCKED2 &trans->transaction->delayed_refs.lock
HALF_LOCKED2 0 &eb->lock

fs/btrfs/disk-io.c btrfs_buffer_uptodate() -> extent_buffer_uptodate()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
BUF_SIZE 0 eb (-1)-s32max
BUF_SIZE 0 eb (-1)-s32max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 0 &eb->lock

fs/btrfs/ctree.c btrfs_search_slot_get_root() -> extent_buffer_uptodate()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
BUF_SIZE 0 eb (-1)-s32max
BUF_SIZE 0 eb (-1)-s32max
CAPPED_DATA 0 eb 1
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &fs_info->commit_root_sem

fs/btrfs/ctree.c read_block_for_search() -> extent_buffer_uptodate()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb r btrfs_find_create_tree_block
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 0 &eb->lock