Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

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

Type Parameter Key Value
PREEMPT_ADD
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_req.c __req_mod() -> start_new_tl_epoch()

Type Parameter Key Value
PARAM_VALUE 0 connection 4096-ptr_max
PARAM_VALUE 0 connection->net_conf 4096-ptr_max
PARAM_VALUE 0 connection->sender_work.q.prev 4096-ptr_max
PARAM_VALUE 0 connection->sender_work.q.prev->next 4096-ptr_max
PARAM_VALUE 0 connection->sender_work.q.prev->next->next 4096-ptr_max
PARAM_VALUE 0 connection->sender_work.q_lock.rlock.dep_map->name 0-255
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() -> start_new_tl_epoch()

Type Parameter Key Value
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 drbd_req_complete() -> start_new_tl_epoch()

Type Parameter Key Value
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_req.c maybe_pull_ahead() -> start_new_tl_epoch()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &resource->req_lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct drbd_resource)->req_lock