Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 2 files:
Smatch caller information:
fs/btrfs/tree-log.c btrfs_sync_log() -> btrfs_alloc_log_tree_node()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | trans | 4096-ptr_max |
| PARAM_VALUE | 0 | trans->fs_info | 4096-ptr_max |
| PARAM_VALUE | 0 | trans->fs_info->commit_root_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->commit_root_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->tree_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->tree_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->transaction->dirty_pages.inode->delalloc_inodes.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | trans->transaction->dirty_pages.inode->root->delalloc_root.next->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PARAM_VALUE | 1 | root->node | 0 |
| BUF_SIZE | 0 | trans | (-1),4,24,64,168-s32max |
| BUF_SIZE | 0 | trans | (-1),4,24,64,168-s32max |
| DATA_SOURCE | 0 | trans | $0 |
| PARAM_COMPARE | 0 | trans->fs_info->last_trans_log_full_commit | != $0->transid |
| RX_PATH | |||
| LOCK2 | &fs_info->tree_root->log_mutex | ||
| TYPE_LOCK | (struct btrfs_root)->log_mutex |
fs/btrfs/disk-io.c btrfs_add_log_tree() -> btrfs_alloc_log_tree_node()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | trans | 4096-ptr_max |
| PARAM_VALUE | 0 | trans->fs_info->commit_root_sem.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->commit_root_sem.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->tree_root->node->lock.first_waiter->handoff_set | 0-1 |
| PARAM_VALUE | 0 | trans->fs_info->tree_root->node->lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | trans->in_fsync | 1 |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PARAM_VALUE | 1 | root->block_rsv | 0,4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_inodes.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_inodes.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_inodes.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_inodes.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_inodes.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | root->delalloc_mutex.first_waiter | 0 |
| PARAM_VALUE | 1 | root->delalloc_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_mutex.owner.counter | 0 |
| PARAM_VALUE | 1 | root->delalloc_root.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_root.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_root.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_root.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_root.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delayed_nodes.xa_flags | 0 |
| PARAM_VALUE | 1 | root->delayed_nodes.xa_head | 0 |
| PARAM_VALUE | 1 | root->dirty_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->dirty_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->dirty_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->dirty_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->dirty_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->fs_info | 4096-ptr_max |
| PARAM_VALUE | 1 | root->inodes.xa_flags | 0 |
| PARAM_VALUE | 1 | root->inodes.xa_head | 0 |
| PARAM_VALUE | 1 | root->leak_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->leak_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->leak_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->leak_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_commit_wait | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_ctxs | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | root->log_mutex.first_waiter | 0 |
| PARAM_VALUE | 1 | root->log_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_mutex.osq.tail.counter | 0 |
| PARAM_VALUE | 1 | root->log_mutex.owner.counter | 0 |
| PARAM_VALUE | 1 | root->log_transid_committed | (-1) |
| PARAM_VALUE | 1 | root->log_writer_wait.head.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_writer_wait.head.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_writer_wait.head.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_writer_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_writer_wait.head.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_writers.counter | 0 |
| PARAM_VALUE | 1 | root->nr_swapfiles.counter | 0 |
| PARAM_VALUE | 1 | root->objectid_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | root->objectid_mutex.first_waiter | 0 |
| PARAM_VALUE | 1 | root->objectid_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 1 | root->objectid_mutex.owner.counter | 0 |
| PARAM_VALUE | 1 | root->ordered_extent_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | root->ordered_extent_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_extents.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_extents.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_extents.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_extents.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_extents.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_root.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_root.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_root.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_root.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_root.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->qgroup_flush_wait.head.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->qgroup_flush_wait.head.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->qgroup_flush_wait.head.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->qgroup_flush_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->qgroup_flush_wait.head.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->refs.refs.counter | 1 |
| PARAM_VALUE | 1 | root->reloc_dirty_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->reloc_dirty_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->reloc_dirty_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->reloc_dirty_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->reloc_dirty_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->root_key.objectid | 18446744073709551610 |
| PARAM_VALUE | 1 | root->root_key.offset | 18446744073709551610 |
| PARAM_VALUE | 1 | root->root_key.type | 132 |
| PARAM_VALUE | 1 | root->root_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->root_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->root_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->root_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->root_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->snapshot_force_cow.counter | 0 |
| PARAM_VALUE | 1 | root->swapped_blocks->blocks | 4096-ptr_max |
| PARAM_VALUE | 1 | root->swapped_blocks.swapped | 0 |
| BUF_SIZE | 0 | trans | (-1),1-s32max |
| BUF_SIZE | 0 | trans | (-1),1-s32max |
| BUF_SIZE | 1 | root | 2880 |
| DATA_SOURCE | 0 | trans | $0 |
| DATA_SOURCE | 1 | root | r alloc_log_tree |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 1 | root->dirty_log_pages.fs_info->nodesize | |
| NO_OVERFLOW_SIMPLE | 1 | root->dirty_log_pages.fs_info->sectorsize | |
| NO_OVERFLOW_SIMPLE | 1 | root->fs_info->nodesize | |
| NO_OVERFLOW_SIMPLE | 1 | root->fs_info->sectorsize | |
| NO_OVERFLOW_SIMPLE | 1 | root->log_csum_range.fs_info->nodesize | |
| NO_OVERFLOW_SIMPLE | 1 | root->log_csum_range.fs_info->sectorsize | |
| LOCK2 | &root->log_mutex | ||
| HALF_LOCKED2 | &inode->i_mmap_lock | ||
| HALF_LOCKED2 | &inode->vfs_inode.i_rwsem | ||
| TYPE_LOCK | (struct btrfs_root)->log_mutex |
fs/btrfs/disk-io.c btrfs_init_log_root_tree() -> btrfs_alloc_log_tree_node()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | trans | 4096-ptr_max |
| PARAM_VALUE | 0 | trans->in_fsync | 1 |
| PARAM_VALUE | 1 | root | 4096-ptr_max |
| PARAM_VALUE | 1 | root->block_rsv | 0,4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_inodes.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_inodes.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_inodes.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_inodes.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_inodes.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | root->delalloc_mutex.first_waiter | 0 |
| PARAM_VALUE | 1 | root->delalloc_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_mutex.owner.counter | 0 |
| PARAM_VALUE | 1 | root->delalloc_root.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_root.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_root.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_root.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delalloc_root.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->delayed_nodes.xa_flags | 0 |
| PARAM_VALUE | 1 | root->delayed_nodes.xa_head | 0 |
| PARAM_VALUE | 1 | root->dirty_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->dirty_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->dirty_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->dirty_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->dirty_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->fs_info | 4096-ptr_max |
| PARAM_VALUE | 1 | root->inodes.xa_flags | 0 |
| PARAM_VALUE | 1 | root->inodes.xa_head | 0 |
| PARAM_VALUE | 1 | root->leak_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->leak_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->leak_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->leak_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_commit_wait | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_ctxs | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | root->log_mutex.first_waiter | 0 |
| PARAM_VALUE | 1 | root->log_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_mutex.osq.tail.counter | 0 |
| PARAM_VALUE | 1 | root->log_mutex.owner.counter | 0 |
| PARAM_VALUE | 1 | root->log_transid_committed | (-1) |
| PARAM_VALUE | 1 | root->log_writer_wait.head.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_writer_wait.head.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_writer_wait.head.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_writer_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_writer_wait.head.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->log_writers.counter | 0 |
| PARAM_VALUE | 1 | root->nr_swapfiles.counter | 0 |
| PARAM_VALUE | 1 | root->objectid_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | root->objectid_mutex.first_waiter | 0 |
| PARAM_VALUE | 1 | root->objectid_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 1 | root->objectid_mutex.owner.counter | 0 |
| PARAM_VALUE | 1 | root->ordered_extent_mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | root->ordered_extent_mutex.magic | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_extents.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_extents.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_extents.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_extents.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_extents.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_root.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_root.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_root.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_root.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->ordered_root.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->qgroup_flush_wait.head.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->qgroup_flush_wait.head.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->qgroup_flush_wait.head.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->qgroup_flush_wait.head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->qgroup_flush_wait.head.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->refs.refs.counter | 1 |
| PARAM_VALUE | 1 | root->reloc_dirty_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->reloc_dirty_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->reloc_dirty_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->reloc_dirty_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->reloc_dirty_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->root_key.objectid | 18446744073709551610 |
| PARAM_VALUE | 1 | root->root_key.offset | 18446744073709551610 |
| PARAM_VALUE | 1 | root->root_key.type | 132 |
| PARAM_VALUE | 1 | root->root_list.next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->root_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->root_list.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->root_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | root->root_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | root->snapshot_force_cow.counter | 0 |
| PARAM_VALUE | 1 | root->swapped_blocks->blocks | 4096-ptr_max |
| PARAM_VALUE | 1 | root->swapped_blocks.swapped | 0 |
| BUF_SIZE | 0 | trans | (-1),1-s32max |
| BUF_SIZE | 0 | trans | (-1),1-s32max |
| BUF_SIZE | 1 | root | 2880 |
| DATA_SOURCE | 0 | trans | $0 |
| DATA_SOURCE | 1 | root | r alloc_log_tree |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 1 | root->dirty_log_pages.fs_info->nodesize | |
| NO_OVERFLOW_SIMPLE | 1 | root->dirty_log_pages.fs_info->sectorsize | |
| NO_OVERFLOW_SIMPLE | 1 | root->fs_info->nodesize | |
| NO_OVERFLOW_SIMPLE | 1 | root->fs_info->sectorsize | |
| NO_OVERFLOW_SIMPLE | 1 | root->log_csum_range.fs_info->nodesize | |
| NO_OVERFLOW_SIMPLE | 1 | root->log_csum_range.fs_info->sectorsize | |
| LOCK2 | &tree_root->log_mutex | ||
| HALF_LOCKED2 | &inode->i_mmap_lock | ||
| HALF_LOCKED2 | &inode->vfs_inode.i_rwsem | ||
| TYPE_LOCK | (struct btrfs_root)->log_mutex |