Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/md/dm.c __dm_io_complete() -> dm_io_flagged()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 1 bit 0
DATA_SOURCE 0 io $0
NOSPEC 0 io->orig_bio->bi_iter.bi_sector
NOSPEC 0 io->orig_bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 io->md->deferred.head->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->md->deferred.head->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->md->deferred.tail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->md->deferred.tail->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->orig_bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->orig_bio->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->orig_bio->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 io->md->deferred.tail->bi_ioprio 0-u16max
USER_DATA 0 io->md->deferred.tail->bi_iter.bi_sector 0-u64max
USER_DATA 0 io->md->deferred.tail->bi_iter.bi_size 0-u32max
USER_DATA 0 io->md->deferred.tail->bi_max_vecs 0-256[c]
USER_DATA 0 io->orig_bio->bi_ioprio 0-u16max
USER_DATA 0 io->orig_bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 io->orig_bio->bi_iter.bi_size 0-u32max
USER_DATA 0 io->orig_bio->bi_max_vecs 0-u16max[c]

drivers/md/dm.c dm_io_acct() -> dm_io_flagged()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 1 bit 2
DATA_SOURCE 0 io $0
NOSPEC 0 io->orig_bio->bi_iter.bi_sector
NOSPEC 0 io->orig_bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 io->md->deferred.head->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->md->deferred.head->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->md->deferred.tail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->md->deferred.tail->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->orig_bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->orig_bio->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->stats_aux.merged 0-1
USER_DATA 0 io->md->deferred.tail->bi_ioprio 0-u16max
USER_DATA 0 io->md->deferred.tail->bi_iter.bi_sector 0-u64max
USER_DATA 0 io->md->deferred.tail->bi_iter.bi_size 0-u32max
USER_DATA 0 io->md->deferred.tail->bi_max_vecs 0-256[c]
USER_DATA 0 io->orig_bio->bi_ioprio 0-u16max
USER_DATA 0 io->orig_bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 io->orig_bio->bi_iter.bi_size 0-u32max
USER_DATA 0 io->orig_bio->bi_max_vecs 0-1024[c]
USER_DATA 0 io->stats_aux.merged 0-1

drivers/md/dm.c dm_io_acct() -> dm_io_flagged()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 1 bit 1
DATA_SOURCE 0 io $0
PARAM_COMPARE 0 &io->md->stats.list != $0->md->stats.list.next
NOSPEC 0 io->orig_bio->bi_iter.bi_sector
NOSPEC 0 io->orig_bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 io->md->deferred.head->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->md->deferred.head->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->md->deferred.tail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->md->deferred.tail->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->orig_bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->orig_bio->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->stats_aux.merged 0-1
USER_DATA 0 io->md->deferred.tail->bi_ioprio 0-u16max
USER_DATA 0 io->md->deferred.tail->bi_iter.bi_sector 0-u64max
USER_DATA 0 io->md->deferred.tail->bi_iter.bi_size 0-u32max
USER_DATA 0 io->md->deferred.tail->bi_max_vecs 0-256[c]
USER_DATA 0 io->orig_bio->bi_ioprio 0-u16max
USER_DATA 0 io->orig_bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 io->orig_bio->bi_iter.bi_size 0-u32max
USER_DATA 0 io->orig_bio->bi_max_vecs 0-1024[c]
USER_DATA 0 io->stats_aux.merged 0-1

drivers/md/dm.c dm_io_complete() -> dm_io_flagged()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 1 bit 1
BUF_SIZE 0 io->md s32min-(-1),1-s32max
BUF_SIZE 0 io->orig_bio (-1)-0,4,24,32,64,144-s32max
DATA_SOURCE 0 io $0
NOSPEC 0 io->orig_bio->bi_iter.bi_sector
NOSPEC 0 io->orig_bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 io->orig_bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->orig_bio->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 io->orig_bio->bi_max_vecs 0-u16max[c]
USER_DATA 0 io->orig_bio->bi_ioprio 0-u16max
USER_DATA 0 io->orig_bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 io->orig_bio->bi_iter.bi_size 0-u32max
USER_DATA 0 io->orig_bio->bi_max_vecs 0-u16max[c]

drivers/md/dm.c dm_io_sectors() -> dm_io_flagged()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 1 bit 1
BUF_SIZE 0 io->md s32min-(-1),1-s32max
BUF_SIZE 0 io->orig_bio (-1)-0,32,144-16528
DATA_SOURCE 0 io $0
NOSPEC 0 io->orig_bio->bi_iter.bi_sector
NOSPEC 0 io->orig_bio->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 io->md->deferred.head->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->md->deferred.head->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->md->deferred.tail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->md->deferred.tail->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->orig_bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 io->orig_bio->bi_iter.bi_size 1024-4294966272[c]
HOST_DATA 0 io->stats_aux.merged 0-1
USER_DATA 0 io->md->deferred.tail->bi_ioprio 0-u16max
USER_DATA 0 io->md->deferred.tail->bi_iter.bi_sector 0-u64max
USER_DATA 0 io->md->deferred.tail->bi_iter.bi_size 0-u32max
USER_DATA 0 io->md->deferred.tail->bi_max_vecs 0-256[c]
USER_DATA 0 io->orig_bio->bi_ioprio 0-u16max
USER_DATA 0 io->orig_bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 io->orig_bio->bi_iter.bi_size 0-u32max
USER_DATA 0 io->orig_bio->bi_max_vecs 0-256[c]
USER_DATA 0 io->stats_aux.merged 0-1

drivers/md/dm.c dm_start_io_acct() -> dm_io_flagged()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 1 bit 0
DATA_SOURCE 0 io $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &md->io_barrier

drivers/md/dm.c dm_start_io_acct() -> dm_io_flagged()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 1 bit 0
DATA_SOURCE 0 io $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &io->lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct dm_io)->lock