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.
143 /** @cpuhp_online: List to store request if CPU is going to die */
145 /** @cpuhp_dead: List to store request if some CPU die. */
213 * struct blk_mq_tag_set - tag set that can be shared between request queues
227 * @cmd_size: Number of additional bytes to allocate per request. The block
230 * @timeout: Request processing timeout in jiffies.
235 * number of active request queues per tag set.
242 * @tag_list: List of the request queues that use this tag set. See also
268 * struct blk_mq_queue_data - Data about a request inserted in a queue
270 * @rq: Request pointer.
271 * @last: If it is the last request in the queue.
274 struct request *rq;
278 typedef bool (busy_iter_fn)(struct blk_mq_hw_ctx *, struct request *, void *,
280 typedef bool (busy_tag_iter_fn)(struct request *, void *, bool);
288 * @queue_rq: Queue a new request from block IO.
297 * purpose of kicking the hardware (which the last request otherwise
303 * @get_budget: Reserve budget before queue request, once .queue_rq is
316 * @timeout: Called on request timeout.
318 enum blk_eh_timer_return (*timeout)(struct request *, bool);
326 * @complete: Mark the request as complete.
328 void (*complete)(struct request *);
346 * flush request.
348 int (*init_request)(struct blk_mq_tag_set *set, struct request *,
353 void (*exit_request)(struct blk_mq_tag_set *set, struct request *,
359 void (*initialize_rq_fn)(struct request *rq);
362 * @cleanup_rq: Called before freeing one request which isn't completed
365 void (*cleanup_rq)(struct request *);
381 * information about a request.
383 void (*show_rq)(struct seq_file *m, struct request *rq);
442 void blk_mq_free_request(struct request *rq);
455 struct request *blk_mq_alloc_request(struct request_queue *q, unsigned int op,
457 struct request *blk_mq_alloc_request_hctx(struct request_queue *q,
460 struct request *blk_mq_tag_to_rq(struct blk_mq_tags *tags, unsigned int tag);
467 u32 blk_mq_unique_tag(struct request *rq);
480 * blk_mq_rq_state() - read the current MQ_RQ_* state of a request
481 * @rq: target request.
483 static inline enum mq_rq_state blk_mq_rq_state(struct request *rq) in blk_mq_rq_state()
488 static inline int blk_mq_request_started(struct request *rq) in blk_mq_request_started()
493 static inline int blk_mq_request_completed(struct request *rq) in blk_mq_request_completed()
498 void blk_mq_start_request(struct request *rq);
499 void blk_mq_end_request(struct request *rq, blk_status_t error);
500 void __blk_mq_end_request(struct request *rq, blk_status_t error);
502 void blk_mq_requeue_request(struct request *rq, bool kick_requeue_list);
505 void blk_mq_complete_request(struct request *rq);
506 bool blk_mq_complete_request_remote(struct request *rq);
535 unsigned int blk_mq_rq_cpu(struct request *rq);
547 * blk_mq_rq_from_pdu - cast a PDU to a request
550 * Return: request
552 * Driver command data is immediately after the request. So subtract request
553 * size to get back to the original request.
555 static inline struct request *blk_mq_rq_from_pdu(void *pdu) in blk_mq_rq_from_pdu()
557 return pdu - sizeof(struct request); in blk_mq_rq_from_pdu()
561 * blk_mq_rq_to_pdu - cast a request to a PDU
562 * @rq: the request to be casted
566 * Driver command data is immediately after the request. So add request to get
569 static inline void *blk_mq_rq_to_pdu(struct request *rq) in blk_mq_rq_to_pdu()
583 struct request *rq) in request_to_qc_t()
592 static inline void blk_mq_cleanup_rq(struct request *rq) in blk_mq_cleanup_rq()