Defined in 1 files as a function:
Referenced in 5 files:
- block/blk-merge.c
- block/blk-sysfs.c, line 629
- block/blk.h
- drivers/block/virtio_blk.c, line 181
- drivers/nvme/host/core.c, line 867
Smatch caller information:
block/elevator.c blk_discard_mergable() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| 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/blk-mq.c blk_rq_get_max_segments() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
block/bfq-iosched.c blk_discard_mergable() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| 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 |
drivers/nvme/host/core.c nvme_setup_discard() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |
block/blk-merge.c bio_attempt_discard_merge() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | q | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | q->last_merge->__data_len | 1024-4294966272[c] |
| HOST_DATA | 0 | q->last_merge->__sector | 0-18446744073709551614 |
| HALF_LOCKED2 | &bio->bi_bdev->bd_queue->queue_lock |
block/blk-merge.c blk_discard_mergable() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
block/blk-merge.c blk_recalc_rq_segments() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | q->async_depth | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.discard_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.io_min | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.logical_block_size | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.max_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.max_hw_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.max_open_zones | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.physical_block_size | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.zone_write_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | q->nr_hw_queues | |
| NO_OVERFLOW_SIMPLE | 0 | q->nr_requests | |
| NO_OVERFLOW_SIMPLE | 0 | q->q_usage_counter.percpu_count_ptr |
block/blk-merge.c blk_rq_get_max_segments() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | q->async_depth | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.discard_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.max_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.max_hw_discard_sectors | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.max_open_zones | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.physical_block_size | |
| NO_OVERFLOW_SIMPLE | 0 | q->limits.zone_write_granularity | |
| NO_OVERFLOW_SIMPLE | 0 | q->nr_hw_queues | |
| NO_OVERFLOW_SIMPLE | 0 | q->nr_requests | |
| NO_OVERFLOW_SIMPLE | 0 | q->q_usage_counter.percpu_count_ptr |
block/blk-merge.c req_attempt_discard_merge() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 4096-ptr_max |
| DATA_SOURCE | 0 | q | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HOST_DATA | 0 | q->last_merge->__sector | 0-s32max[c] |
| HALF_LOCKED2 | &bfqd->lock | ||
| HALF_LOCKED2 | &dd->lock | ||
| HALF_LOCKED2 | irq |
block/mq-deadline.c blk_discard_mergable() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| 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 |
drivers/block/virtio_blk.c virtblk_setup_discard_write_zeroes_erase() -> queue_max_discard_segments()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | __tag_set->srcu | ||
| HALF_LOCKED2 | rcu_read |