Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/md/dm-thin-metadata.c __release_metadata_snap() -> dm_sm_dec_block()

Type Parameter Key Value
PARAM_VALUE 1 b 1-u64max
NOCHECK_CALL
LOCK2 &md->io_barrier
LOCK2 &pmd->root_lock
TYPE_LOCK (struct dm_pool_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->io_barrier

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

Type Parameter Key Value
PARAM_VALUE 0 sm 4096-ptr_max
PARAM_VALUE 0 sm->inc_blocks 4096-ptr_max
PARAM_VALUE 1 b 0
NOCHECK_CALL
LOCK2 &md->io_barrier
LOCK2 &pmd->root_lock
TYPE_LOCK (struct dm_pool_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-era-target.c metadata_drop_snap() -> dm_sm_dec_block()

Type Parameter Key Value
DATA_SOURCE 1 b r dm_block_location
HALF_LOCKED2 &pool->lock

drivers/md/dm-era-target.c metadata_take_snap() -> dm_sm_dec_block()

Type Parameter Key Value
PARAM_VALUE 0 sm 4096-ptr_max
PARAM_VALUE 0 sm->inc_blocks 4096-ptr_max
PARAM_VALUE 1 b 0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/md/dm-era-target.c metadata_take_snap() -> dm_sm_dec_block()

Type Parameter Key Value
PARAM_VALUE 0 sm 4096-ptr_max
PARAM_VALUE 0 sm->inc_blocks 4096-ptr_max
DATA_SOURCE 1 b r dm_block_location
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/md/dm-era-target.c metadata_take_snap() -> dm_sm_dec_block()

Type Parameter Key Value
PARAM_VALUE 0 sm 4096-ptr_max
PARAM_VALUE 0 sm->inc_blocks 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/md/dm-era-target.c metadata_take_snap() -> dm_sm_dec_block()

Type Parameter Key Value
PARAM_VALUE 0 sm 4096-ptr_max
PARAM_VALUE 0 sm->dec_blocks 4096-ptr_max
PARAM_VALUE 0 sm->inc_blocks 4096-ptr_max
DATA_SOURCE 1 b r dm_block_location
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/md/persistent-data/dm-transaction-manager.c __shadow_block() -> dm_sm_dec_block()

Type Parameter Key Value
PARAM_VALUE 0 sm 4096-ptr_max
PARAM_VALUE 0 sm->count_is_more_than_one 4096-ptr_max
PARAM_VALUE 0 sm->new_block 4096-ptr_max
DATA_SOURCE 1 b $1
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pmd->root_lock
HALF_LOCKED2 &pool->lock

drivers/md/persistent-data/dm-transaction-manager.c dm_tm_dec() -> dm_sm_dec_block()

Type Parameter Key Value
DATA_SOURCE 1 b $1
NOCHECK_CALL
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pmd->root_lock

drivers/md/persistent-data/dm-transaction-manager.c dm_tm_new_block() -> dm_sm_dec_block()

Type Parameter Key Value
PARAM_VALUE 0 sm 4096-ptr_max
PARAM_VALUE 0 sm->new_block 4096-ptr_max
NOCHECK_CALL