Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/btrfs/dev-replace.c btrfs_resume_dev_replace_async() -> btrfs_exclop_start()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->balance_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_info->balance_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 fs_info->balance_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->balance_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 fs_info->balance_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->balance_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 fs_info->balance_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 fs_info->balance_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 fs_info->balance_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 fs_info->balance_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->block_group_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->block_group_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->caching_workers->limit_active s32min-4294967295
PARAM_VALUE 0 fs_info->chunk_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->chunk_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->cleaner_mutex.dep_map->name 0-255
PARAM_VALUE 0 fs_info->cleaner_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->cleaner_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->cleaner_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 fs_info->cleaner_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 fs_info->cleaner_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 fs_info->cleaner_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 fs_info->cleaner_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->cleanup_work_sem.dep_map->name 0-255
PARAM_VALUE 0 fs_info->cleanup_work_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 fs_info->cleanup_work_sem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 fs_info->cleanup_work_sem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 fs_info->cleanup_work_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->cleanup_work_sem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->delalloc_workers->limit_active s32min-4294967295
PARAM_VALUE 0 fs_info->delayed_workers->limit_active s32min-4294967295
PARAM_VALUE 0 fs_info->dev_replace.rwsem.dep_map->name 0-255
PARAM_VALUE 0 fs_info->dev_replace.rwsem.first_waiter->handoff_set 1
PARAM_VALUE 0 fs_info->dev_replace.rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 fs_info->dev_replace.rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 fs_info->dev_replace.rwsem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->dev_replace.rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->dev_replace.rwsem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->dev_replace.rwsem.wait_lock.owner (-1)
PARAM_VALUE 0 fs_info->dev_replace.rwsem.wait_lock.owner_cpu u32max
PARAM_VALUE 0 fs_info->dev_replace.tgtdev 4096-ptr_max
PARAM_VALUE 0 fs_info->dev_replace.tgtdev->bdev 1-u64max
PARAM_VALUE 0 fs_info->dev_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->dev_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->endio_freespace_worker->limit_active s32min-4294967295
PARAM_VALUE 0 fs_info->endio_meta_workers->flags 0-4294967295
PARAM_VALUE 0 fs_info->endio_meta_workers->max_active s32min-s32max
PARAM_VALUE 0 fs_info->endio_meta_workers->min_active s32min-s32max
PARAM_VALUE 0 fs_info->endio_meta_workers->saved_max_active s32min-s32max
PARAM_VALUE 0 fs_info->endio_meta_workers->saved_min_active s32min-s32max
PARAM_VALUE 0 fs_info->endio_workers->flags 0-4294967295
PARAM_VALUE 0 fs_info->endio_workers->max_active s32min-s32max
PARAM_VALUE 0 fs_info->endio_workers->min_active s32min-s32max
PARAM_VALUE 0 fs_info->endio_workers->saved_max_active s32min-s32max
PARAM_VALUE 0 fs_info->endio_workers->saved_min_active s32min-s32max
PARAM_VALUE 0 fs_info->endio_write_workers->limit_active s32min-4294967295
PARAM_VALUE 0 fs_info->fs_devices->rw_devices 1-u64max
PARAM_VALUE 0 fs_info->fs_roots_radix_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->mapping_tree_lock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->quota_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->quota_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->sb->s_bdi->wb_switch_rwsem.dep_map->name 0-255
PARAM_VALUE 0 fs_info->sb->s_bdi->wb_switch_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->sb->s_bdi->wb_switch_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 fs_info->sb->s_bdi->wb_switch_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 fs_info->sb->s_bdi->wb_switch_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->sb->s_bdi->wb_switch_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->sb->s_inode_wblist_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->sb->s_inodes_wb.next 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_inodes_wb.next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_inodes_wb.next->prev 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_inodes_wb.next->prev->next 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_inodes_wb.prev 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_inodes_wb.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_inodes_wb.prev->next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_inodes_wb.prev->prev 4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_sync_lock->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 fs_info->sb->s_sync_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 fs_info->sb->s_sync_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 fs_info->sb->s_sync_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 fs_info->sb->s_sync_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 fs_info->sb->s_sync_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 fs_info->sb->s_sync_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 fs_info->sb->s_sync_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 fs_info->stripe_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->stripe_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->super_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->transaction_wait.head.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_info->transaction_wait.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_root->accounting_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->tree_root->fs_info->allocated_roots.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_root->fs_info->allocated_roots.prev->next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_root->fs_info->commit_root_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->tree_root->fs_info->commit_root_sem.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->tree_root->fs_info->dirty_cowonly_roots.next 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_root->fs_info->dirty_cowonly_roots.next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_root->fs_info->dirty_cowonly_roots.next->prev 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_root->fs_info->dirty_cowonly_roots.prev 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_root->fs_info->dirty_cowonly_roots.prev->next 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_root->fs_info->dirty_cowonly_roots.prev->next->next 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_root->fs_info->fs_roots_radix_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 fs_info->tree_root->fs_info->global_block_rsv.reserved 0-536870912
PARAM_VALUE 0 fs_info->tree_root->fs_info->global_block_rsv.size 0-536870912
PARAM_VALUE 0 fs_info->tree_root->fs_info->qgroup_flags 0,4-u64max
PARAM_VALUE 0 fs_info->tree_root->fs_info->reloc_ctl->refs.refs.counter s32min-s32max
PARAM_VALUE 0 fs_info->tree_root->node->fs_info->tree_mod_log.rb_node 4096-ptr_max
PARAM_VALUE 0 fs_info->tree_root->node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 fs_info->tree_root->node->lock.first_waiter->type 0-1
PARAM_VALUE 0 fs_info->workers->limit_active s32min-4294967295
PARAM_VALUE 1 type 5
BUF_SIZE 0 fs_info 1-s32max
BUF_SIZE 0 fs_info 1-s32max
DATA_SOURCE 0 fs_info $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 fs_info unit_byte

fs/btrfs/volumes.c btrfs_recover_balance() -> btrfs_exclop_start()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 1 type 1
DATA_SOURCE 0 fs_info $0

fs/btrfs/volumes.c relocating_repair_kthread() -> btrfs_exclop_start()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->sb 4096-ptr_max
PARAM_VALUE 1 type 2
UNITS 0 fs_info unit_byte

fs/btrfs/inode.c btrfs_swap_activate() -> btrfs_exclop_start()

Type Parameter Key Value
PARAM_VALUE 1 type 7
CAPABLE 0 21
UNITS 0 fs_info unit_byte
LOCK2 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/btrfs/block-group.c btrfs_reclaim_block_groups() -> btrfs_exclop_start()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->sb 4096-ptr_max
PARAM_VALUE 1 type 2
DATA_SOURCE 0 fs_info $0
RX_PATH
TASK_NOT_RUNNING

fs/btrfs/ioctl.c btrfs_ioctl_add_dev() -> btrfs_exclop_start()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->fs_devices 4096-ptr_max
PARAM_VALUE 0 fs_info->fs_devices->temp_fsid 0
PARAM_VALUE 1 type 3
DATA_SOURCE 0 fs_info $0
CAPABLE 0 21
UNITS 0 fs_info unit_byte

fs/btrfs/ioctl.c btrfs_ioctl_dev_replace() -> btrfs_exclop_start()

Type Parameter Key Value
PARAM_VALUE 0 fs_info 4096-ptr_max
PARAM_VALUE 0 fs_info->sb 4096-ptr_max
PARAM_VALUE 1 type 5
DATA_SOURCE 0 fs_info $0
CAPABLE 0 21
UNITS 0 fs_info unit_byte

fs/btrfs/ioctl.c btrfs_try_lock_balance() -> btrfs_exclop_start()

Type Parameter Key Value
PARAM_VALUE 1 type 2
DATA_SOURCE 0 fs_info $0
CAPABLE 0 21
UNITS 0 fs_info unit_byte

fs/btrfs/ioctl.c exclop_start_or_cancel_reloc() -> btrfs_exclop_start()

Type Parameter Key Value
PARAM_VALUE 1 type 4,6
DATA_SOURCE 0 fs_info $0
DATA_SOURCE 1 type $1
CAPABLE 0 21
HARD_MAX 1 type 6
UNITS 0 fs_info unit_byte