Lines Matching full:request

56 	 * @sched_data: Pointer owned by the IO scheduler attached to a request
61 * @queue: Pointer to the request queue that owns this hardware context.
75 * pending request in that software queue.
114 * assigned when a request is dispatched from a hardware queue.
119 * scheduler associated with a request queue, a tag is assigned when
120 * that request is allocated. Else, this member is not used.
139 * shared across request queues.
147 /** @cpuhp_online: List to store request if CPU is going to die */
149 /** @cpuhp_dead: List to store request if some CPU die. */
217 * struct blk_mq_tag_set - tag set that can be shared between request queues
231 * @cmd_size: Number of additional bytes to allocate per request. The block
234 * @timeout: Request processing timeout in jiffies.
239 * number of active request queues per tag set.
246 * @tag_list: List of the request queues that use this tag set. See also
272 * struct blk_mq_queue_data - Data about a request inserted in a queue
274 * @rq: Request pointer.
275 * @last: If it is the last request in the queue.
278 struct request *rq;
282 typedef bool (busy_iter_fn)(struct blk_mq_hw_ctx *, struct request *, void *,
284 typedef bool (busy_tag_iter_fn)(struct request *, void *, bool);
292 * @queue_rq: Queue a new request from block IO.
301 * purpose of kicking the hardware (which the last request otherwise
307 * @get_budget: Reserve budget before queue request, once .queue_rq is
320 * @timeout: Called on request timeout.
322 enum blk_eh_timer_return (*timeout)(struct request *, bool);
330 * @complete: Mark the request as complete.
332 void (*complete)(struct request *);
350 * flush request.
352 int (*init_request)(struct blk_mq_tag_set *set, struct request *,
357 void (*exit_request)(struct blk_mq_tag_set *set, struct request *,
363 void (*initialize_rq_fn)(struct request *rq);
366 * @cleanup_rq: Called before freeing one request which isn't completed
369 void (*cleanup_rq)(struct request *);
385 * information about a request.
387 void (*show_rq)(struct seq_file *m, struct request *rq);
440 void blk_mq_free_request(struct request *rq);
453 struct request *blk_mq_alloc_request(struct request_queue *q, unsigned int op,
455 struct request *blk_mq_alloc_request_hctx(struct request_queue *q,
458 struct request *blk_mq_tag_to_rq(struct blk_mq_tags *tags, unsigned int tag);
465 u32 blk_mq_unique_tag(struct request *rq);
478 * blk_mq_rq_state() - read the current MQ_RQ_* state of a request
479 * @rq: target request.
481 static inline enum mq_rq_state blk_mq_rq_state(struct request *rq) in blk_mq_rq_state()
486 static inline int blk_mq_request_started(struct request *rq) in blk_mq_request_started()
491 static inline int blk_mq_request_completed(struct request *rq) in blk_mq_request_completed()
496 void blk_mq_start_request(struct request *rq);
497 void blk_mq_end_request(struct request *rq, blk_status_t error);
498 void __blk_mq_end_request(struct request *rq, blk_status_t error);
500 void blk_mq_requeue_request(struct request *rq, bool kick_requeue_list);
503 void blk_mq_complete_request(struct request *rq);
504 bool blk_mq_complete_request_remote(struct request *rq);
533 unsigned int blk_mq_rq_cpu(struct request *rq);
545 * blk_mq_rq_from_pdu - cast a PDU to a request
548 * Return: request
550 * Driver command data is immediately after the request. So subtract request
551 * size to get back to the original request.
553 static inline struct request *blk_mq_rq_from_pdu(void *pdu) in blk_mq_rq_from_pdu()
555 return pdu - sizeof(struct request); in blk_mq_rq_from_pdu()
559 * blk_mq_rq_to_pdu - cast a request to a PDU
560 * @rq: the request to be casted
564 * Driver command data is immediately after the request. So add request to get
567 static inline void *blk_mq_rq_to_pdu(struct request *rq) in blk_mq_rq_to_pdu()
581 struct request *rq) in request_to_qc_t()
590 static inline void blk_mq_cleanup_rq(struct request *rq) in blk_mq_cleanup_rq()