crash.subsystem.storage.blockmq module

exception crash.subsystem.storage.blockmq.NoQueueError[source]

Bases: RuntimeError

crash.subsystem.storage.blockmq.mq_for_each_request_in_queue(queue: Value, reserved: bool = True) Iterable[Value][source]

Iterates over each struct request in request_queue

This method iterates over the request_queue’s queuelist and returns a request for each member. This method iterates over the tags of all hardware contexts of request_queue and returns a request for each member.

Parameters:
  • queue – The struct request_queue used to iterate. The value must be of type struct request_queue.

  • reserved – If true, also reserved requests will be included in the iteration

Yields:

gdb.Value – Each struct request contained within the request_queue’s queuelist. The value is of type struct request. request_queue’s tags. The value is of type struct request.

crash.subsystem.storage.blockmq.mq_queue_for_each_hw_ctx(queue: Value) Iterable[Value][source]

Iterates over each struct blk_mq_hw_ctx in request_queue

This method iterates over each blk-mq hardware context in request_queue and yields each blk_mq_hw_ctx.

Parameters:

queue – The struct request_queue used to iterate. The value must be of type struct request_queue.

Yields:

gdb.Value – Each blk-mq hardware context contained within the request_queue. The value is of type struct blk_mq_hw_ctx.

crash.subsystem.storage.blockmq.mq_queue_request_stats(queue: Value) Tuple[int, int, int, int][source]

Report various request information for this queue

Parameters:

queue – The request queue to inspect for request information. The value must be of type struct request_queue.

Returns:

Number queued async requests, number of queued sync requests, number of async requests being processed by the driver, number of sync requests being processed by the driver.

Return type:

(int, int, int, int)

crash.subsystem.storage.blockmq.mq_requests_in_flight(queue: Value) Tuple[int, int][source]

Report how many requests are in flight for this queue

Parameters:

queue – The request queue to inspect for requests in flight. The value must be of type struct request_queue.

Returns:

The requests in flight. The first member of the 2-tuple is the number of async requests, the second is the number of sync requests.

Return type:

(int, int)

crash.subsystem.storage.blockmq.mq_requests_queued(queue: Value) Tuple[int, int][source]

Report how many requests are queued for this queue

Parameters:

queue – The request queue to inspect for queued requests. The value must be of type struct request_queue.

Returns:

The queued requests. The first member of the 2-tuple is the number of async requests, the second is the number of sync requests.

Return type:

(int, int)