Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/md/bcache/writeback.c sectors_dirty_init_fn() -> bcache_dev_sectors_dirty_add()

Type Parameter Key Value
PARAM_VALUE 1 inode 0-1048575
PARAM_VALUE 3 nr_sectors 0-u16max
BIT_INFO 1 inode 0x0,0xfffff
BIT_INFO 3 nr_sectors 0x0,0xffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 c->bio_meta.min_nr
NO_OVERFLOW_SIMPLE 0 c->bio_split.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 c->bio_split.bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 c->fill_iter.min_nr
NO_OVERFLOW_SIMPLE 0 c->nr_uuids
NO_OVERFLOW_SIMPLE 0 c->search.min_nr
HALF_LOCKED2 b

drivers/md/bcache/extents.c bch_extent_insert_fixup() -> bcache_dev_sectors_dirty_add()

Type Parameter Key Value
PARAM_VALUE 1 inode 0-1048575
PARAM_VALUE 3 nr_sectors 0-u16max
BIT_INFO 1 inode 0x0,0xfffff
BIT_INFO 3 nr_sectors 0x0,0xffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &b->write_lock
HALF_LOCKED2 &b->io_mutex
HALF_LOCKED2 &n->io_mutex
HALF_LOCKED2 &n2->io_mutex
HALF_LOCKED2 &n2->write_lock
HALF_LOCKED2 b
TYPE_LOCK (struct btree)->write_lock

drivers/md/bcache/extents.c bch_subtract_dirty() -> bcache_dev_sectors_dirty_add()

Type Parameter Key Value
PARAM_VALUE 1 inode 0-1048575
PARAM_VALUE 3 nr_sectors (-2147483647)-s32max
DATA_SOURCE 0 c $1
DATA_SOURCE 2 offset $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &b->write_lock
HALF_LOCKED2 &b->io_mutex
HALF_LOCKED2 &n->io_mutex
HALF_LOCKED2 &n1->io_mutex
HALF_LOCKED2 &n2->io_mutex
HALF_LOCKED2 &n2->write_lock
HALF_LOCKED2 b
TYPE_LOCK (struct btree)->write_lock