Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/md/dm-thin-metadata.c __reserve_metadata_snap() -> __commit_transaction()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 0 pmd->data_block_size 0-9223372036854775807
PARAM_VALUE 0 pmd->fail_io 0
PARAM_VALUE 0 pmd->flags 0-9223372036854775807
PARAM_VALUE 0 pmd->held_root 0
PARAM_VALUE 0 pmd->in_service 1
PARAM_VALUE 0 pmd->root_lock.first_waiter->type 0-1
PARAM_VALUE 0 pmd->root_lock.osq.tail.counter 0-s32max
DATA_SOURCE 0 pmd $0
LOCK2 &md->io_barrier
LOCK2 0 &pmd->root_lock
TYPE_LOCK (struct dm_pool_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-thin-metadata.c dm_pool_commit_metadata() -> __commit_transaction()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 0 pmd->fail_io 0
PARAM_VALUE 0 pmd->root_lock.dep_map->name 0-255
PARAM_VALUE 0 pmd->root_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 pmd->root_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 pmd->root_lock.first_waiter->type 0-1
PARAM_VALUE 0 pmd->root_lock.osq.tail.counter 0-s32max
DATA_SOURCE 0 pmd $0
NO_OVERFLOW_SIMPLE 0 pmd->bl_info.tm->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 pmd->tm->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 pmd->trans_id
LOCK2 0 &pmd->root_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_pool_metadata)->root_lock

drivers/md/dm-thin-metadata.c dm_pool_metadata_close() -> __commit_transaction()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 0 pmd->bm 4096-ptr_max
PARAM_VALUE 0 pmd->bm->read_only 0
PARAM_VALUE 0 pmd->fail_io 0
PARAM_VALUE 0 pmd->root_lock.dep_map->name 0-255
PARAM_VALUE 0 pmd->root_lock.first_waiter->handoff_set 1
PARAM_VALUE 0 pmd->root_lock.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 0 pmd->root_lock.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 0 pmd->root_lock.first_waiter->type 0-1
PARAM_VALUE 0 pmd->root_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 pmd->root_lock.wait_lock.dep_map->name 0-255
BUF_SIZE 0 pmd (-1),864
BUF_SIZE 0 pmd (-1),864
CAPPED_DATA 0 &pmd->root_lock 1
CAPPED_DATA 0 &pmd->thin_devices 1
DATA_SOURCE 0 pmd $0
NOSPEC 0 pmd->data_block_size
USER_DATA 0 pmd->data_block_size 128-2097152[c]
NO_OVERFLOW_SIMPLE 0 pmd->bm->bufio->dm_io->bios.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 pmd->bm->bufio->dm_io->bios.bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 pmd->bm->bufio->dm_io->bios.rescue_workqueue->rescuer->task->dl.pi_se->dl_runtime
NO_OVERFLOW_SIMPLE 0 pmd->bm->bufio->dm_io->pool.min_nr
NO_OVERFLOW_SIMPLE 0 pmd->bm->bufio->slab_cache->object_size
NO_OVERFLOW_SIMPLE 0 pmd->data_block_size
NO_OVERFLOW_SIMPLE 0 pmd->data_sm->ll.tm->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 pmd->data_sm->ll.tm->real->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 pmd->details_info.tm->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 pmd->info.tm->bm->bufio->block_size
LOCK2 global &dm_thin_pool_table.mutex
LOCK2 0 &pmd->root_lock
TYPE_LOCK (struct dm_pool_metadata)->root_lock
TYPE_LOCK (struct dm_thin_pool_table)->mutex

drivers/md/dm-cache-metadata.c dm_cache_commit() -> __commit_transaction()

Type Parameter Key Value
PARAM_VALUE 0 pmd 4096-ptr_max
PARAM_VALUE 0 pmd->bm 4096-ptr_max
PARAM_VALUE 0 pmd->bm->read_only 0
PARAM_VALUE 0 pmd->fail_io 0
PARAM_VALUE 0 pmd->root_lock.dep_map->name 0-255
PARAM_VALUE 0 pmd->root_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 pmd->root_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 pmd->root_lock.first_waiter->type 0-1
PARAM_VALUE 0 pmd->root_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 mutator 3050326179474948096,4386885263125716992
DATA_SOURCE 0 pmd $0
BIT_INFO 1 mutator 0x2840486730010000,0x3ef5fffffbade000
BIT_INFO 1 mutator 0x2840486730010000,0x3ef5fffffbade000
NO_OVERFLOW_SIMPLE 0 pmd->dirty_info.array_info.btree_info.tm->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 pmd->hint_info.btree_info.tm->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 pmd->info.btree_info.tm->real->bm->bufio->block_size
LOCK2 0 &pmd->root_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock