Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

fs/btrfs/extent-io-tree.c btrfs_clear_extent_bit_changeset() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
PARAM_VALUE 0 state->start 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tree->lock
HALF_LOCKED2 &fs_info->unused_bg_unpin_mutex
HALF_LOCKED2 &inode->vfs_inode.i_rwsem
TYPE_LOCK (struct extent_io_tree)->lock

fs/btrfs/extent-io-tree.c btrfs_convert_extent_bit() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &log_root_tree->log_mutex
HALF_LOCKED2 &root->log_mutex

fs/btrfs/extent-io-tree.c btrfs_count_range_bits() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tree->lock
TYPE_LOCK (struct extent_io_tree)->lock

fs/btrfs/extent-io-tree.c btrfs_extent_io_tree_release() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PARAM_COMPARE 0 &state->wq.head == $0->wq.head.next
BIT_INFO 0 state->state 0x0,0xfffffff9
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tree->lock
HALF_LOCKED2 &fs_info->commit_root_sem
HALF_LOCKED2 global &uuid_mutex
TYPE_LOCK (struct extent_io_tree)->lock

fs/btrfs/extent-io-tree.c btrfs_find_first_extent_bit() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tree->lock
HALF_LOCKED2 &dev_replace->lock_finishing_cancel_unmount
HALF_LOCKED2 &dev_replace->rwsem
HALF_LOCKED2 &fs_devices->device_list_mutex
HALF_LOCKED2 &fs_info->chunk_mutex
TYPE_LOCK (struct extent_io_tree)->lock

fs/btrfs/extent-io-tree.c btrfs_find_first_extent_bit() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tree->lock
HALF_LOCKED2 &dev_replace->lock_finishing_cancel_unmount
HALF_LOCKED2 &dev_replace->rwsem
HALF_LOCKED2 &fs_devices->device_list_mutex
HALF_LOCKED2 &fs_info->chunk_mutex
TYPE_LOCK (struct extent_io_tree)->lock

fs/btrfs/extent-io-tree.c clear_state_bit() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PARAM_VALUE 0 state->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 0 state->rb_node.rb_right 0,4096-ptr_max
PARAM_VALUE 0 state->state 0
CAPPED_DATA 0 state->start 1
CAPPED_DATA 0 &state->rb_node 1
DATA_SOURCE 0 state $1
NOSPEC 0 state->start
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 state->start 1-u64max[c]
LOCK2 &tree->lock
TYPE_LOCK (struct extent_io_tree)->lock

fs/btrfs/extent-io-tree.c merge_next_state() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PARAM_VALUE 0 state->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 0 state->rb_node.rb_right 0,4096-ptr_max
CAPPED_DATA 0 state->start 1
CAPPED_DATA 0 state->state 1
CAPPED_DATA 0 &state->rb_node 1
DATA_SOURCE 0 state r next_state
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tree->lock
TYPE_LOCK (struct extent_io_tree)->lock

fs/btrfs/extent-io-tree.c merge_prev_state() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PARAM_VALUE 0 state->rb_node.rb_left 0,4096-ptr_max
PARAM_VALUE 0 state->rb_node.rb_right 0,4096-ptr_max
CAPPED_DATA 0 state->end 1
CAPPED_DATA 0 state->state 1
CAPPED_DATA 0 &state->rb_node 1
DATA_SOURCE 0 state r prev_state
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &tree->lock
TYPE_LOCK (struct extent_io_tree)->lock

fs/btrfs/extent-io-tree.c set_extent_bit() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
NOSPEC 0 state->end
NOSPEC 0 state->start
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 state->end 0-18446744073709551613[c]
USER_DATA 0 state->start 0-18446744073709551614[c]

fs/btrfs/extent-io-tree.c split_state() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PARAM_VALUE 0 state->start 0-18446744073709551614
CAPPED_DATA 0 state->end 1
CAPPED_DATA 0 state->start 1
DATA_SOURCE 0 state $2
NOSPEC 0 state->start
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 state->start 0-18446744073709551614[c]
LOCK2 &tree->lock
TYPE_LOCK (struct extent_io_tree)->lock

fs/btrfs/extent-io-tree.c wait_extent_bit() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PARAM_VALUE 0 state->wq.lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 state->start 1
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 &tree->lock
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 &inode->vfs_inode.i_rwsem
TYPE_LOCK (struct extent_io_tree)->lock

fs/btrfs/extent-io-tree.c wait_extent_bit() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 &inode->vfs_inode.i_rwsem

fs/btrfs/dev-replace.c btrfs_set_target_alloc_state() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
NOCHECK_CALL
LOCK2 &dev_replace->lock_finishing_cancel_unmount
LOCK2 &dev_replace->rwsem
LOCK2 &fs_devices->device_list_mutex
LOCK2 &fs_info->chunk_mutex
TYPE_LOCK (struct btrfs_dev_replace)->lock_finishing_cancel_unmount
TYPE_LOCK (struct btrfs_dev_replace)->rwsem
TYPE_LOCK (struct btrfs_fs_devices)->device_list_mutex
TYPE_LOCK (struct btrfs_fs_info)->chunk_mutex

fs/btrfs/file.c btrfs_release_file() -> btrfs_free_extent_state()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/extent_io.c btrfs_readahead() -> btrfs_free_extent_state()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mapping->invalidate_lock

fs/btrfs/extent_io.c find_lock_delalloc_range() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state->state 32-4294967295
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/extent_io.c find_lock_delalloc_range() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state->state 32-4294967295
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/extent_io.c try_release_extent_state() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
PARAM_VALUE 0 state->start 0-s64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &folio->private->lock

fs/btrfs/transaction.c __btrfs_wait_marked_extents() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/transaction.c btrfs_write_marked_extents() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &log_root_tree->log_mutex
HALF_LOCKED2 &root->log_mutex

fs/btrfs/disk-io.c btrfs_destroy_pinned_extent() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs_info->unused_bg_unpin_mutex
HALF_LOCKED2 &fs_info->transaction_kthread_mutex
TYPE_LOCK (struct btrfs_fs_info)->unused_bg_unpin_mutex

fs/btrfs/extent-tree.c btrfs_finish_extent_commit() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PARAM_VALUE 0 state->rb_node.rb_right 0,4096-ptr_max
NOCHECK_CALL
LOCK2 &fs_info->unused_bg_unpin_mutex
TYPE_LOCK (struct btrfs_fs_info)->unused_bg_unpin_mutex

fs/btrfs/extent-tree.c btrfs_finish_extent_commit() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
DATA_SOURCE 0 state r btrfs_next_extent_state
NOCHECK_CALL
LOCK2 &fs_info->unused_bg_unpin_mutex
TYPE_LOCK (struct btrfs_fs_info)->unused_bg_unpin_mutex

fs/btrfs/extent-tree.c btrfs_finish_extent_commit() -> btrfs_free_extent_state()

Type Parameter Key Value
PARAM_VALUE 0 state 0,4096-ptr_max
NOCHECK_CALL