Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

block/elevator.c elv_merge() -> blk_discard_mergable()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
CAPPED_DATA 0 req->bio->bi_blkg 1
CAPPED_DATA 0 req->bio->bi_ioprio 1
CAPPED_DATA 0 req->bio->bi_write_hint 1
CAPPED_DATA 0 req->bio->bi_write_stream 1
DATA_SOURCE 0 req r elv_rqhash_find
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &dd->lock
HALF_LOCKED2 irq

block/bfq-iosched.c bfq_request_merge() -> blk_discard_mergable()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
CAPPED_DATA 0 req->bio->bi_blkg 1
CAPPED_DATA 0 req->bio->bi_ioprio 1
CAPPED_DATA 0 req->bio->bi_write_hint 1
CAPPED_DATA 0 req->bio->bi_write_stream 1
DATA_SOURCE 0 req r bfq_find_rq_fmerge
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &dd->lock
HALF_LOCKED2 irq

block/blk-merge.c attempt_merge() -> blk_discard_mergable()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
CAPPED_DATA 0 req 1
CAPPED_DATA 0 req->start_time_ns 1
DATA_SOURCE 0 req $1
NOSPEC 0 req->biotail->bi_next->bi_iter.bi_sector
NOSPEC 0 req->biotail->bi_next->bi_iter.bi_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 req->__data_len 0-u32max[c]
HOST_DATA 0 req->__sector 0-u64max
HOST_DATA 0 req->biotail->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 0 req->biotail->bi_next->bi_iter.bi_size 1-u32max[c]
HOST_DATA 0 req->biotail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 req->biotail->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 req->biotail->bi_next->bi_iter.bi_size 1-u32max[c]
USER_DATA 0 req->biotail->bi_next->bi_max_vecs 0-u16max[c]
UNITS 0 req unit_byte
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &dd->lock
HALF_LOCKED2 irq

block/blk-merge.c blk_try_merge() -> blk_discard_mergable()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
CAPPED_DATA 0 req->bio->bi_blkg 1
CAPPED_DATA 0 req->bio->bi_ioprio 1
CAPPED_DATA 0 req->bio->bi_write_hint 1
CAPPED_DATA 0 req->bio->bi_write_stream 1
DATA_SOURCE 0 req $0
NOSPEC 0 req->bio->bi_iter.bi_sector
NOSPEC 0 req->bio->bi_iter.bi_size
NOSPEC 0 req->biotail->bi_iter.bi_sector
NOSPEC 0 req->biotail->bi_iter.bi_size
NOSPEC 0 req->biotail->bi_next->bi_iter.bi_sector
NOSPEC 0 req->biotail->bi_next->bi_iter.bi_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 req->__sector 0-s32max[c]
HOST_DATA 0 req->bio->bi_iter.bi_sector 0-u64max
HOST_DATA 0 req->bio->bi_iter.bi_size 512-4294966784[c]
HOST_DATA 0 req->bio->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 0 req->biotail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 req->biotail->bi_iter.bi_size 0,512-4294966784[c]
HOST_DATA 0 req->biotail->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 0 req->biotail->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 0 req->biotail->bi_next->bi_iter.bi_size 0,512-4294966784[c]
HOST_DATA 0 req->biotail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 req->bio->bi_ioprio 0-u16max[c]
USER_DATA 0 req->bio->bi_iter.bi_sector 0-u64max
USER_DATA 0 req->bio->bi_iter.bi_size 1-u32max[c]
USER_DATA 0 req->bio->bi_max_vecs 0-u16max[c]
USER_DATA 0 req->biotail->bi_ioprio 0-u16max
USER_DATA 0 req->biotail->bi_iter.bi_sector 0-u64max
USER_DATA 0 req->biotail->bi_iter.bi_size 0-u32max
USER_DATA 0 req->biotail->bi_max_vecs 0-u16max[c]
USER_DATA 0 req->biotail->bi_next->bi_ioprio 0-u16max
USER_DATA 0 req->biotail->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 req->biotail->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 0 req->biotail->bi_next->bi_max_vecs 0-u16max[c]
UNITS 0 req unit_byte
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock

block/blk-merge.c blk_try_req_merge() -> blk_discard_mergable()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
CAPPED_DATA 0 req->bio->bi_ioprio 1
CAPPED_DATA 0 req->bio->bi_write_hint 1
CAPPED_DATA 0 req->bio->bi_write_stream 1
DATA_SOURCE 0 req $0
NOSPEC 0 req->biotail->bi_iter.bi_sector
NOSPEC 0 req->biotail->bi_iter.bi_size
NOSPEC 0 req->biotail->bi_next->bi_iter.bi_sector
NOSPEC 0 req->biotail->bi_next->bi_iter.bi_size
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 req->__data_len 1024-4294966272[c]
HOST_DATA 0 req->__sector 0-u64max
HOST_DATA 0 req->biotail->bi_iter.bi_sector 0-u64max
HOST_DATA 0 req->biotail->bi_iter.bi_size 512-4294966784[c]
HOST_DATA 0 req->biotail->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 0 req->biotail->bi_next->bi_iter.bi_sector 0-u64max
HOST_DATA 0 req->biotail->bi_next->bi_iter.bi_size 0,512-4294966784[c]
HOST_DATA 0 req->biotail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 req->biotail->bi_ioprio 0-u16max
USER_DATA 0 req->biotail->bi_iter.bi_sector 0-u64max
USER_DATA 0 req->biotail->bi_iter.bi_size 1-u32max
USER_DATA 0 req->biotail->bi_max_vecs 0-u16max[c]
USER_DATA 0 req->biotail->bi_next->bi_ioprio 0-u16max
USER_DATA 0 req->biotail->bi_next->bi_iter.bi_sector 0-u64max
USER_DATA 0 req->biotail->bi_next->bi_iter.bi_size 0-u32max
USER_DATA 0 req->biotail->bi_next->bi_max_vecs 0-u16max[c]
UNITS 0 req unit_byte
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &dd->lock
HALF_LOCKED2 irq

block/mq-deadline.c dd_request_merge() -> blk_discard_mergable()

Type Parameter Key Value
PARAM_VALUE 0 req 4096-ptr_max
CAPPED_DATA 0 req->bio->bi_blkg 1
CAPPED_DATA 0 req->bio->bi_ioprio 1
CAPPED_DATA 0 req->bio->bi_write_hint 1
CAPPED_DATA 0 req->bio->bi_write_stream 1
DATA_SOURCE 0 req r elv_rb_find
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &dd->lock
HALF_LOCKED2 irq