Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

drivers/block/drbd/drbd_state.c _conn_request_state() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 1 w->cb 2057501355796295680
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 &connection->cstate_mutex
HALF_LOCKED2 &connection->resource->req_lock
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &resource->req_lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_state.c _drbd_set_state() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 1 w->cb 3925947666790645760
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &resource->req_lock
HALF_LOCKED2 device->state_mutex
HALF_LOCKED2 flags
HALF_LOCKED2 global &resources_mutex
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

drivers/block/drbd/drbd_main.c dec_ap_bio() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &resource->req_lock
HALF_LOCKED2 irq
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_main.c drbd_flush_workqueue() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 5928557090714558464
PARAM_VALUE 1 w->cb 3830758574394339328
DATA_SOURCE 0 q $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &adm_ctx->resource->adm_mutex

drivers/block/drbd/drbd_main.c drbd_queue_bitmap_io() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 1 w->list.next 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &device->resource->req_lock
LOCK2 irq
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_receiver.c got_OVResult() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 1 w->cb 4679799203579973632
NOCHECK_CALL

drivers/block/drbd/drbd_req.c __req_mod() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 1 w->cb 379725370282639360
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &resource->req_lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_req.c __req_mod() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 1 w->cb 1891975603811028992
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &resource->req_lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_req.c __req_mod() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 1 w->cb 7080415726592770048
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &resource->req_lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_req.c __req_mod() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 1 w->cb 6207467790230364160
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &resource->req_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_req.c __req_mod() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 1 w->cb 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &resource->req_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_req.c dec_ap_bio() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/block/drbd/drbd_worker.c drbd_endio_read_sec_final() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/block/drbd/drbd_worker.c drbd_resync_finished() -> drbd_queue_work()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 1 w 4096-ptr_max
PARAM_VALUE 1 w->cb 7394723422798053376
NOCHECK_CALL
HALF_LOCKED2 device->state_mutex