Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/btrfs/space-info.c btrfs_add_bg_to_space_info() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &space_info->lock
HALF_LOCKED2 &fs_info->chunk_mutex
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/space-info.c btrfs_return_free_space() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info->dev_replace.rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 space_info->fs_info->dev_replace.rwsem.first_waiter->type 0-1
PARAM_VALUE 0 space_info->fs_info->global_block_rsv.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 space_info 1
DATA_SOURCE 0 space_info $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 space_info->bytes_may_use
LOCK2 0 &space_info->lock
HALF_LOCKED2 &fs_info->unused_bg_unpin_mutex
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/space-info.c maybe_fail_all_tickets() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info 4096-ptr_max
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 space_info 1
CAPPED_DATA 0 space_info->tickets_id 1
CAPPED_DATA 0 &space_info->tickets 1
DATA_SOURCE 0 space_info $0
PARAM_COMPARE 0 &space_info->tickets != $0->tickets.next
PREEMPT_ADD
NOCHECK_CALL
LOCK2 0 &space_info->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/space-info.c priority_reclaim_data_space() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->full 1
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 space_info->priority_tickets.prev->next 643370198843097104
PARAM_VALUE 0 space_info->priority_tickets.prev->next->next 4096-ptr_max
DATA_SOURCE 0 space_info $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &space_info->lock
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/space-info.c priority_reclaim_metadata_space() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info->balance_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 space_info->fs_info->fs_devices 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info->fs_devices->per_profile_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 space_info->priority_tickets.prev->next 643370198843097104
PARAM_VALUE 0 space_info->priority_tickets.prev->next->next 4096-ptr_max
DATA_SOURCE 0 space_info $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &space_info->lock
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/block-rsv.c btrfs_space_info_free_bytes_may_use() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 space_info $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &space_info->lock
HALF_LOCKED2 &delayed_node->mutex
HALF_LOCKED2 &fs_info->chunk_mutex
HALF_LOCKED2 &fs_info->commit_root_sem
HALF_LOCKED2 &fs_info->fs_devices->device_list_mutex
HALF_LOCKED2 &fs_info->fs_roots_radix_lock
HALF_LOCKED2 &fs_info->qgroup_ioctl_lock
HALF_LOCKED2 &fs_info->qgroup_lock
HALF_LOCKED2 &fs_info->subvol_sem
HALF_LOCKED2 &fs_info->unused_bg_unpin_mutex
HALF_LOCKED2 &node->mutex
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/block-rsv.c btrfs_update_global_block_rsv() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &block_rsv->lock
LOCK2 0 &space_info->lock
HALF_LOCKED2 &fs_info->chunk_mutex
TYPE_LOCK (struct btrfs_block_rsv)->lock
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/block-group.c btrfs_add_reserved_bytes() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 space_info->bytes_reserved
LOCK2 &space_info->groups_sem
LOCK2 0 &space_info->lock
HALF_LOCKED2 &fs_info->remap_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct btrfs_space_info)->groups_sem
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/block-group.c btrfs_free_reserved_bytes() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 space_info->max_extent_size 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 space_info->bytes_readonly
NO_OVERFLOW_SIMPLE 0 space_info->bytes_reserved
NO_OVERFLOW_SIMPLE 0 space_info->bytes_zone_unusable
LOCK2 0 &space_info->lock
HALF_LOCKED2 &fs_info->remap_mutex
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/delalloc-space.c btrfs_space_info_free_bytes_may_use() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 space_info $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &space_info->lock
HALF_LOCKED2 &tree->lock
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/transaction.c btrfs_space_info_free_bytes_may_use() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 space_info $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &space_info->lock
TYPE_LOCK (struct btrfs_space_info)->lock

fs/btrfs/delayed-ref.c btrfs_space_info_free_bytes_may_use() -> btrfs_try_granting_tickets()

Type Parameter Key Value
PARAM_VALUE 0 space_info 4096-ptr_max
PARAM_VALUE 0 space_info->clamp s32min-8
PARAM_VALUE 0 space_info->flush 1
PARAM_VALUE 0 space_info->fs_info->delalloc_bytes.lock.dep_map->name 0-255
PARAM_VALUE 0 space_info->fs_info->delalloc_root_mutex->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 space_info->fs_info->delalloc_root_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 space_info->fs_info->delalloc_root_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 space_info->fs_info->delalloc_root_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 space_info->fs_info->delalloc_root_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 space_info->fs_info->delalloc_roots.next->next 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info->delalloc_roots.next->prev 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info->delalloc_roots.prev->next 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info->delalloc_roots.prev->prev 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info->delayed_iput_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 space_info->fs_info->delayed_iputs_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info->delayed_iputs_wait.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info->fs_devices->device_list_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 space_info->fs_info->fs_devices->per_profile_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 space_info->fs_info->ordered_bytes.lock.dep_map->name 0-255
PARAM_VALUE 0 space_info->fs_info->ordered_operations_mutex->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 space_info->fs_info->ordered_operations_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 space_info->fs_info->ordered_operations_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 space_info->fs_info->ordered_operations_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 space_info->fs_info->ordered_operations_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 space_info->fs_info->ordered_roots.prev->next->prev 6140170182684090368
PARAM_VALUE 0 space_info->fs_info->reclaim_bgs.prev->prev 4096-ptr_max
PARAM_VALUE 0 space_info->fs_info->reclaim_bgs_lock->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 space_info->fs_info->reclaim_bgs_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 space_info->fs_info->reclaim_bgs_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 space_info->fs_info->reclaim_bgs_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 space_info->fs_info->unused_bgs_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 space_info->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 space_info->tickets.prev->next 643370198843097104
PARAM_VALUE 0 space_info->tickets.prev->next->next 4096-ptr_max
CAPPED_DATA 0 space_info 1
DATA_SOURCE 0 space_info $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &space_info->lock
HALF_LOCKED2 &dev_replace->lock_finishing_cancel_unmount
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 &fs_info->subvol_sem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct btrfs_space_info)->lock