Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/md/bcache/alloc.c bch_alloc_sectors() -> pick_data_bucket()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->cache 4096-ptr_max
PARAM_VALUE 0 c->data_bucket_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 search 4096-ptr_max
PARAM_VALUE 3 alloc 4096-ptr_max
DATA_SOURCE 0 c $0
DATA_SOURCE 1 search $1
DATA_SOURCE 2 write_point $3
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &c->data_bucket_lock
HALF_LOCKED2 &b->io_mutex
HALF_LOCKED2 &dc->in_flight
TYPE_LOCK (struct cache_set)->data_bucket_lock

drivers/md/bcache/alloc.c bch_alloc_sectors() -> pick_data_bucket()

Type Parameter Key Value
PARAM_VALUE 0 c 4096-ptr_max
PARAM_VALUE 0 c->bucket_lock.dep_map->name 0-255
PARAM_VALUE 0 c->bucket_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 c->bucket_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 c->bucket_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 c->bucket_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 c->bucket_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 c->bucket_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 c->bucket_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 c->bucket_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 c->cache 4096-ptr_max
PARAM_VALUE 0 c->data_bucket_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 search 4096-ptr_max
PARAM_VALUE 3 alloc 4096-ptr_max
DATA_SOURCE 0 c $0
DATA_SOURCE 1 search $1
DATA_SOURCE 2 write_point $3
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &c->data_bucket_lock
HALF_LOCKED2 &b->io_mutex
HALF_LOCKED2 &dc->in_flight
TYPE_LOCK (struct cache_set)->data_bucket_lock