Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/btrfs/extent_io.c prepare_eb_write() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
CAPPED_DATA 0 eb->fs_info->dirty_metadata_batch 1
DATA_SOURCE 0 eb $0
DATA_SOURCE 1 nr r btrfs_header_nritems

fs/btrfs/tree-mod-log.c btrfs_set_node_key() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb $0
DATA_SOURCE 1 nr $2
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
UNITS 1 nr unit_array_size
LOCK2 &fs_info->tree_mod_log_lock
LOCK2 0 &eb->lock
TYPE_LOCK (struct btrfs_fs_info)->tree_mod_log_lock
TYPE_LOCK (struct extent_buffer)->lock

fs/btrfs/tree-mod-log.c tree_mod_log_rewind() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 nr unit_array_size
LOCK2 &fs_info->tree_mod_log_lock
LOCK2 0 &eb->lock
TYPE_LOCK (struct btrfs_fs_info)->tree_mod_log_lock
TYPE_LOCK (struct extent_buffer)->lock

fs/btrfs/tree-mod-log.c tree_mod_log_rewind() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 nr unit_array_size
LOCK2 &fs_info->tree_mod_log_lock
LOCK2 0 &eb->lock
TYPE_LOCK (struct btrfs_fs_info)->tree_mod_log_lock
TYPE_LOCK (struct extent_buffer)->lock

fs/btrfs/ctree.c balance_node_right() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
PARAM_VALUE 1 nr 1-1073741824
CAPPED_DATA 1 nr 1
DATA_SOURCE 0 eb $1
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &src->lock
HALF_LOCKED2 0 &eb->lock

fs/btrfs/ctree.c balance_node_right() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
PARAM_VALUE 1 nr 0
DATA_SOURCE 0 eb $1
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &src->lock
HALF_LOCKED2 0 &eb->lock

fs/btrfs/ctree.c balance_node_right() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
PARAM_VALUE 1 nr 0
DATA_SOURCE 0 eb $1
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &src->lock
HALF_LOCKED2 0 &eb->lock

fs/btrfs/ctree.c balance_node_right() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
PARAM_VALUE 1 nr 1-2147483646
DATA_SOURCE 0 eb $2
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &dst->lock
HALF_LOCKED2 0 &eb->lock

fs/btrfs/ctree.c btrfs_del_ptr() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
DATA_SOURCE 1 nr $4
UNITS 1 nr unit_array_size

fs/btrfs/ctree.c btrfs_del_ptr() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max

fs/btrfs/ctree.c btrfs_set_node_key() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
BUF_SIZE 0 eb (-1),1-s32max
BUF_SIZE 0 eb (-1),1-s32max
DATA_SOURCE 0 eb $0
DATA_SOURCE 1 nr $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &left->lock
HALF_LOCKED2 &right->lock

fs/btrfs/ctree.c insert_ptr() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
CAPPED_DATA 1 nr 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &c->lock
HALF_LOCKED2 &right->lock

fs/btrfs/ctree.c insert_ptr() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
CAPPED_DATA 1 nr 1
DATA_SOURCE 1 nr $4
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &c->lock
HALF_LOCKED2 &right->lock

fs/btrfs/ctree.c push_node_left() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
DATA_SOURCE 0 eb $1
DATA_SOURCE 1 nr r btrfs_header_nritems
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &src->lock
HALF_LOCKED2 0 &eb->lock

fs/btrfs/ctree.c push_node_left() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
PARAM_VALUE 1 nr 0
DATA_SOURCE 0 eb $2
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &dst->lock
HALF_LOCKED2 0 &eb->lock

fs/btrfs/ctree.c push_node_left() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
PARAM_VALUE 1 nr 0
DATA_SOURCE 0 eb $2
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &dst->lock
HALF_LOCKED2 0 &eb->lock

fs/btrfs/ctree.c push_node_left() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
PARAM_VALUE 1 nr s32min-2147483646
CAPPED_DATA 1 nr 1
DATA_SOURCE 0 eb $2
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
HALF_LOCKED2 &cow->lock
HALF_LOCKED2 &dst->lock
HALF_LOCKED2 0 &eb->lock

fs/btrfs/ctree.c split_node() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max
PARAM_VALUE 1 nr 0
BUF_SIZE 0 eb (-1)-s32max
BUF_SIZE 0 eb (-1)-s32max
CAPPED_DATA 0 eb 1
DATA_SOURCE 0 eb r btrfs_alloc_tree_block

fs/btrfs/ctree.c split_node() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
PARAM_VALUE 0 eb 4096-ptr_max

fs/btrfs/accessors.c btrfs_node_key() -> btrfs_node_key_ptr_offset()

Type Parameter Key Value
BUF_SIZE 0 eb (-1)-s32max
BUF_SIZE 0 eb (-1)-s32max
DATA_SOURCE 0 eb $0
DATA_SOURCE 1 nr $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 eb->len
NO_OVERFLOW_SIMPLE 0 eb->start
NO_OVERFLOW_SIMPLE 1 nr
UNITS 1 nr unit_array_size
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 &left->lock
HALF_LOCKED2 0 &eb->lock