Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/btrfs/ordered-data.c btrfs_remove_ordered_extent() -> btrfs_put_transaction()

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

fs/btrfs/block-group.c clean_pinned_extents() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs_info->reclaim_bgs_lock
TYPE_LOCK (struct btrfs_fs_info)->reclaim_bgs_lock

fs/btrfs/transaction.c __btrfs_end_transaction() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->writer_wait.lock.rlock.dep_map->name 0-255
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fs_info->cleaner_mutex

fs/btrfs/transaction.c btrfs_commit_transaction_async() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
NOCHECK_CALL

fs/btrfs/transaction.c btrfs_wait_for_commit() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->commit_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 transaction->commit_wait.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 transaction->fs_info->trans_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info->unused_bgs_lock.rlock.dep_map->name 0-255
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fs_info->transaction_kthread_mutex

fs/btrfs/transaction.c cleanup_transaction() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->list.next->prev 4096-ptr_max
PARAM_VALUE 0 transaction->list.prev->next 4096-ptr_max
CAPPED_DATA 0 transaction 1
CAPPED_DATA 0 &transaction->list 1
NOCHECK_CALL

fs/btrfs/transaction.c cleanup_transaction() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->fs_info->unused_bgs_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->list.next->prev 4096-ptr_max
PARAM_VALUE 0 transaction->list.prev->next 4096-ptr_max
CAPPED_DATA 0 transaction 1
CAPPED_DATA 0 &transaction->list 1
NOCHECK_CALL

fs/btrfs/transaction.c wait_current_trans() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->aborted 0
PARAM_VALUE 0 transaction->state 2-3
HARD_MAX 0 transaction->state 3
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/transaction.c wait_for_commit() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->commit_wait.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info->btrfs_state_change_map 4096-ptr_max
PARAM_VALUE 0 transaction->state 6-u32max
CAPPED_DATA 0 transaction->transid 1
FUZZY_MAX 0 transaction->state 6
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fs_info->transaction_kthread_mutex

fs/btrfs/disk-io.c btrfs_cleanup_transaction() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->state 1-u32max
FUZZY_MAX 0 transaction->state 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs_info->transaction_kthread_mutex
TYPE_LOCK (struct btrfs_fs_info)->transaction_kthread_mutex

fs/btrfs/disk-io.c btrfs_cleanup_transaction() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->delayed_refs.dirty_extents.xa_head 0
PARAM_VALUE 0 transaction->delayed_refs.head_refs.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->dirty_bgs.next 4096-ptr_max
PARAM_VALUE 0 transaction->dirty_bgs_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info 4096-ptr_max
PARAM_VALUE 0 transaction->fs_info->block_group_cache_lock.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info->delayed_refs_rsv.space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info->qgroup_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 transaction->io_bgs.next 4096-ptr_max
PARAM_VALUE 0 transaction->state 6
PARAM_COMPARE 0 &transaction->dirty_bgs == $0->dirty_bgs.next
PARAM_COMPARE 0 &transaction->io_bgs == $0->io_bgs.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fs_info->transaction_kthread_mutex
TYPE_LOCK (struct btrfs_fs_info)->transaction_kthread_mutex

fs/btrfs/disk-io.c warn_about_uncommitted_trans() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->delayed_refs.dirty_extents.xa_head 0
PARAM_VALUE 0 transaction->delayed_refs.head_refs.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->dirty_bgs.next 4096-ptr_max
PARAM_VALUE 0 transaction->dirty_bgs_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->dirty_pages.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info 4096-ptr_max
PARAM_VALUE 0 transaction->fs_info->block_group_cache_lock.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info->delayed_refs_rsv.space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info->qgroup_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.dep_map->name 0-255
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 transaction->fs_info->unused_bg_unpin_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 transaction->io_bgs.next 4096-ptr_max
PARAM_VALUE 0 transaction->state 6
CAPPED_DATA 0 &transaction->list 1
PARAM_COMPARE 0 &transaction->dirty_bgs == $0->dirty_bgs.next
PARAM_COMPARE 0 &transaction->io_bgs == $0->io_bgs.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/extent-tree.c check_delayed_ref() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->delayed_refs.lock.rlock.dep_map->name 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/extent-tree.c check_delayed_ref() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->delayed_refs.lock.rlock.dep_map->name 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/extent-tree.c check_delayed_ref() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->delayed_refs.lock.rlock.dep_map->name 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/btrfs/extent-tree.c check_delayed_ref() -> btrfs_put_transaction()

Type Parameter Key Value
PARAM_VALUE 0 transaction 4096-ptr_max
PARAM_VALUE 0 transaction->delayed_refs.lock.rlock.dep_map->name 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL