Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/md/bcache/bset.c __bch_keylist_realloc() -> bch_keylist_nkeys()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
DATA_SOURCE 0 l $0
RX_PATH
TASK_NOT_RUNNING

drivers/md/bcache/bset.c bch_keylist_bytes() -> bch_keylist_nkeys()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
CAPPED_DATA 0 l->keys 1
DATA_SOURCE 0 l $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &b->write_lock
HALF_LOCKED2 &n->io_mutex
HALF_LOCKED2 &n1->io_mutex
HALF_LOCKED2 &n2->io_mutex
HALF_LOCKED2 &n2->write_lock
TYPE_LOCK (struct btree)->write_lock

drivers/md/bcache/request.c bch_keylist_realloc() -> bch_keylist_nkeys()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
DATA_SOURCE 0 l $0
RX_PATH
TASK_NOT_RUNNING

drivers/md/bcache/journal.c bch_journal() -> bch_keylist_nkeys()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
DATA_SOURCE 0 l $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &b->io_mutex

drivers/md/bcache/journal.c bch_journal() -> bch_keylist_nkeys()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
DATA_SOURCE 0 l $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->journal.lock
HALF_LOCKED2 &b->io_mutex
TYPE_LOCK (struct journal)->lock

drivers/md/bcache/journal.c bch_keylist_bytes() -> bch_keylist_nkeys()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
DATA_SOURCE 0 l $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &c->journal.lock
TYPE_LOCK (struct journal)->lock

drivers/md/bcache/btree.c bch_btree_insert_node() -> bch_keylist_nkeys()

Type Parameter Key Value
DATA_SOURCE 0 l $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 &b->write_lock
HALF_LOCKED2 &n->io_mutex
TYPE_LOCK (struct btree)->write_lock