mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
blk-mq: introduce blk_rq_has_data()
Add blk_rq_has_data(), an analogue of bio_has_data() for struct request. This skips one dereference relative to bio_has_data(rq->bio). Signed-off-by: Caleb Sander Mateos <csander@purestorage.com> Reviewed-by: Ming Lei <tom.leiming@gmail.com> Link: https://patch.msgid.link/20260513211846.1956810-2-csander@purestorage.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
be34ec59ef
commit
999722b344
|
|
@ -1104,6 +1104,7 @@ struct req_iterator {
|
|||
/*
|
||||
* blk_rq_pos() : the current sector
|
||||
* blk_rq_bytes() : bytes left in the entire request
|
||||
* blk_rq_has_data() : whether the request carries data
|
||||
* blk_rq_cur_bytes() : bytes left in the current segment
|
||||
* blk_rq_sectors() : sectors left in the entire request
|
||||
* blk_rq_cur_sectors() : sectors left in the current segment
|
||||
|
|
@ -1119,6 +1120,14 @@ static inline unsigned int blk_rq_bytes(const struct request *rq)
|
|||
return rq->__data_len;
|
||||
}
|
||||
|
||||
static inline bool blk_rq_has_data(const struct request *rq)
|
||||
{
|
||||
return blk_rq_bytes(rq) &&
|
||||
req_op(rq) != REQ_OP_DISCARD &&
|
||||
req_op(rq) != REQ_OP_SECURE_ERASE &&
|
||||
req_op(rq) != REQ_OP_WRITE_ZEROES;
|
||||
}
|
||||
|
||||
static inline int blk_rq_cur_bytes(const struct request *rq)
|
||||
{
|
||||
if (!rq->bio)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user