Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/md/dm-zoned-reclaim.c dmz_do_reclaim() -> dmz_first_valid_block()

Type Parameter Key Value
PARAM_VALUE 0 zmd 4096-ptr_max
PARAM_VALUE 0 zmd->map_lock.dep_map->name 0-255
PARAM_VALUE 0 zmd->map_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 zmd->map_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 zmd->map_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 zmd->map_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 zmd->map_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 zmd->map_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 2 chunk_block 3139069517416480768
PARAM_VALUE 2 *chunk_block 0
HALF_LOCKED2 &pool->lock

drivers/md/dm-zoned-reclaim.c dmz_reclaim_copy() -> dmz_first_valid_block()

Type Parameter Key Value
PARAM_VALUE 0 zmd 4096-ptr_max
PARAM_VALUE 1 zone 4096-ptr_max
PARAM_VALUE 1 zone->dev 4096-ptr_max
PARAM_VALUE 2 chunk_block 7877514672624017408
PARAM_VALUE 2 *chunk_block 0-4294967294
DATA_SOURCE 1 zone $1
BIT_INFO 1 zone->dev->flags 0x0,0xfffffffe
HALF_LOCKED2 &pool->lock

drivers/md/dm-zoned-metadata.c dmz_merge_valid_blocks() -> dmz_first_valid_block()

Type Parameter Key Value
PARAM_VALUE 0 zmd 4096-ptr_max
PARAM_VALUE 0 zmd->mblk_flush_lock.dep_map->name 0-255
PARAM_VALUE 0 zmd->mblk_flush_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 zmd->mblk_flush_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 zmd->mblk_flush_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 zmd->zone_nr_blocks 1-u64max
PARAM_VALUE 1 zone 4096-ptr_max
PARAM_VALUE 2 *chunk_block 0-18446744073709551614
DATA_SOURCE 0 zmd $0
DATA_SOURCE 1 zone $1
LOCK2 0 &zmd->mblk_flush_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dmz_metadata)->mblk_flush_lock