crash.subsystem.storage.blocksq module

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

Bases: RuntimeError

crash.subsystem.storage.blocksq.for_each_request_in_queue(queue: gdb.Value) → Iterable[gdb.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.

Parameters:queue – The struct request_queue used to iterate. The value must be of type struct request_queue.
Yields:gdb.Value – Each struct request contained within the request_queue’s queuelist. The value is of type struct request.
crash.subsystem.storage.blocksq.request_age_ms(request: gdb.Value) → int[source]

Returns the age of the request in milliseconds

This method returns the difference between the current time (jiffies) and the request’s start_time, in milliseconds.

Parameters:request – The struct request used to determine age. The value is of type struct request.
Returns:
Difference between the request’s start_time and
current jiffies in milliseconds.
Return type:int
crash.subsystem.storage.blocksq.requests_in_flight(queue: gdb.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 read requests, the second is the number of write requests.
Return type:(int, int)