Lines Matching full:request
57 * @sched_data: Pointer owned by the IO scheduler attached to a request
62 * @queue: Pointer to the request queue that owns this hardware context.
76 * pending request in that software queue.
115 * assigned when a request is dispatched from a hardware queue.
120 * scheduler associated with a request queue, a tag is assigned when
121 * that request is allocated. Else, this member is not used.
140 * shared across request queues.
144 /** @cpuhp_online: List to store request if CPU is going to die */
146 /** @cpuhp_dead: List to store request if some CPU die. */
214 * struct blk_mq_tag_set - tag set that can be shared between request queues
228 * @cmd_size: Number of additional bytes to allocate per request. The block
231 * @timeout: Request processing timeout in jiffies.
236 * number of active request queues per tag set.
243 * @tag_list: List of the request queues that use this tag set. See also
269 * struct blk_mq_queue_data - Data about a request inserted in a queue
271 * @rq: Request pointer.
272 * @last: If it is the last request in the queue.
275 struct request *rq;
279 typedef bool (busy_iter_fn)(struct blk_mq_hw_ctx *, struct request *, void *,
281 typedef bool (busy_tag_iter_fn)(struct request *, void *, bool);
289 * @queue_rq: Queue a new request from block IO.
298 * purpose of kicking the hardware (which the last request otherwise
304 * @get_budget: Reserve budget before queue request, once .queue_rq is
319 void (*set_rq_budget_token)(struct request *, int);
323 int (*get_rq_budget_token)(struct request *);
326 * @timeout: Called on request timeout.
328 enum blk_eh_timer_return (*timeout)(struct request *, bool);
336 * @complete: Mark the request as complete.
338 void (*complete)(struct request *);
356 * flush request.
358 int (*init_request)(struct blk_mq_tag_set *set, struct request *,
363 void (*exit_request)(struct blk_mq_tag_set *set, struct request *,
369 void (*initialize_rq_fn)(struct request *rq);
372 * @cleanup_rq: Called before freeing one request which isn't completed
375 void (*cleanup_rq)(struct request *);
391 * information about a request.
393 void (*show_rq)(struct seq_file *m, struct request *rq);
456 void blk_mq_free_request(struct request *rq);
469 struct request *blk_mq_alloc_request(struct request_queue *q, unsigned int op,
471 struct request *blk_mq_alloc_request_hctx(struct request_queue *q,
474 struct request *blk_mq_tag_to_rq(struct blk_mq_tags *tags, unsigned int tag);
481 u32 blk_mq_unique_tag(struct request *rq);
494 * blk_mq_rq_state() - read the current MQ_RQ_* state of a request
495 * @rq: target request.
497 static inline enum mq_rq_state blk_mq_rq_state(struct request *rq) in blk_mq_rq_state()
502 static inline int blk_mq_request_started(struct request *rq) in blk_mq_request_started()
507 static inline int blk_mq_request_completed(struct request *rq) in blk_mq_request_completed()
514 * Set the state to complete when completing a request from inside ->queue_rq.
516 * need access to the request are called on failure, e.g. by nvme for
519 static inline void blk_mq_set_request_complete(struct request *rq) in blk_mq_set_request_complete()
524 void blk_mq_start_request(struct request *rq);
525 void blk_mq_end_request(struct request *rq, blk_status_t error);
526 void __blk_mq_end_request(struct request *rq, blk_status_t error);
528 void blk_mq_requeue_request(struct request *rq, bool kick_requeue_list);
531 void blk_mq_complete_request(struct request *rq);
532 bool blk_mq_complete_request_remote(struct request *rq);
561 unsigned int blk_mq_rq_cpu(struct request *rq);
573 * blk_mq_rq_from_pdu - cast a PDU to a request
576 * Return: request
578 * Driver command data is immediately after the request. So subtract request
579 * size to get back to the original request.
581 static inline struct request *blk_mq_rq_from_pdu(void *pdu) in blk_mq_rq_from_pdu()
583 return pdu - sizeof(struct request); in blk_mq_rq_from_pdu()
587 * blk_mq_rq_to_pdu - cast a request to a PDU
588 * @rq: the request to be casted
592 * Driver command data is immediately after the request. So add request to get
595 static inline void *blk_mq_rq_to_pdu(struct request *rq) in blk_mq_rq_to_pdu()
609 struct request *rq) in request_to_qc_t()
618 static inline void blk_mq_cleanup_rq(struct request *rq) in blk_mq_cleanup_rq()
624 static inline void blk_rq_bio_prep(struct request *rq, struct bio *bio, in blk_rq_bio_prep()