Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/md/dm-thin.c pool_resume_active_thins() -> get_next_thin()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 1 tc 4096-ptr_max
PARAM_VALUE 1 tc->thin_md 4096-ptr_max
PARAM_VALUE 1 tc->thin_md->internal_suspend_count 0-4294967295
PARAM_VALUE 1 tc->thin_md->suspend_lock.dep_map->name 0-255
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 tc->thin_md->suspend_lock.osq.tail.counter 0-s32max
DATA_SOURCE 0 pool $0
PARAM_COMPARE 0 &pool->active_thins != $0->active_thins.next
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-thin.c pool_suspend_active_thins() -> get_next_thin()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 pool->suspended 1
PARAM_VALUE 1 tc 4096-ptr_max
PARAM_VALUE 1 tc->thin_md 4096-ptr_max
PARAM_VALUE 1 tc->thin_md->internal_suspend_count 0-4294967295
PARAM_VALUE 1 tc->thin_md->suspend_lock.dep_map->name 0-255
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 1 tc->thin_md->suspend_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 1 tc->thin_md->suspend_lock.osq.tail.counter 0-s32max
DATA_SOURCE 0 pool $0
PARAM_COMPARE 0 &pool->active_thins != $0->active_thins.next
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-thin.c process_deferred_bios() -> get_next_thin()

Type Parameter Key Value
PARAM_VALUE 0 pool 4096-ptr_max
PARAM_VALUE 0 pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 pool->pmd 4096-ptr_max
PARAM_VALUE 0 pool->pmd->root_lock.dep_map->name 0-255
PARAM_VALUE 0 pool->pmd->root_lock.first_waiter->handoff_set 1
PARAM_VALUE 0 pool->pmd->root_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 pool->pmd->root_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 pool->pmd->root_lock.first_waiter->type 0-1
PARAM_VALUE 0 pool->pmd->tm->bm->bufio->cache.num_locks 0-4294967295
PARAM_VALUE 0 pool->pmd->tm->bm->bufio->lock->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 pool->pmd->tm->bm->bufio->lock.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 pool->pmd->tm->bm->bufio->need_reserved_buffers 0-4294967295
PARAM_VALUE 0 pool->pmd->tm->prefetches->blocks (-1)
PARAM_VALUE 0 pool->pmd->tm->prefetches.lock.dep_map->name 0-255
PARAM_VALUE 0 pool->pmd->tm->prefetches.lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 pool->pmd->tm->prefetches.lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 pool->pmd->tm->prefetches.lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 pool->pmd->tm->prefetches.lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 pool->pmd->tm->prefetches.lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 pool->pmd->tm->prefetches.lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 pool->pmd->tm->prefetches.lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 pool->prepared_discards.next 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards.next->next 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards.next->prev 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards.prev 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards.prev->next 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards.prev->prev 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards_pt2.next 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards_pt2.next->next 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards_pt2.next->prev 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards_pt2.prev 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards_pt2.prev->next 4096-ptr_max
PARAM_VALUE 0 pool->prepared_discards_pt2.prev->prev 4096-ptr_max
PARAM_VALUE 0 pool->prepared_mappings.next 4096-ptr_max
PARAM_VALUE 0 pool->prepared_mappings.next->next 4096-ptr_max
PARAM_VALUE 0 pool->prepared_mappings.next->prev 4096-ptr_max
PARAM_VALUE 0 pool->prepared_mappings.prev 4096-ptr_max
PARAM_VALUE 0 pool->prepared_mappings.prev->next 4096-ptr_max
PARAM_VALUE 0 pool->prepared_mappings.prev->prev 4096-ptr_max
PARAM_VALUE 0 pool->throttle.lock.dep_map->name 0-255
PARAM_VALUE 0 pool->throttle.lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 pool->throttle.lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 pool->throttle.lock.first_waiter->type 0-1
PARAM_VALUE 0 pool->throttle.lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 pool->throttle.throttle_applied 1
PARAM_VALUE 1 tc 4096-ptr_max
PARAM_VALUE 1 tc->deferred_cells.next 4096-ptr_max
PARAM_VALUE 1 tc->deferred_cells.next->next 4096-ptr_max
PARAM_VALUE 1 tc->deferred_cells.next->prev 4096-ptr_max
PARAM_VALUE 1 tc->deferred_cells.prev 4096-ptr_max
PARAM_VALUE 1 tc->deferred_cells.prev->next 4096-ptr_max
PARAM_VALUE 1 tc->deferred_cells.prev->prev 4096-ptr_max
PARAM_VALUE 1 tc->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 tc->pool->throttle.lock.first_waiter->type 0-1
DATA_SOURCE 0 pool $0
PARAM_COMPARE 0 &pool->active_thins != $0->active_thins.next
HALF_LOCKED2 &pool->lock