[dm-devel] [RFC PATCH 2/4] block: add field of .bi_bio_drv_data to bio
Ming Lei
ming.lei at redhat.com
Wed Jun 16 13:05:31 UTC 2021
After bio is submitted, bio->bi_next is used for IO merge for request
based queue only.
Reuse the filed for bio based driver for storing driver data, and name
it as .bi_bio_drv_data.
Signed-off-by: Ming Lei <ming.lei at redhat.com>
---
include/linux/blk_types.h | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index 6e6c2af48d74..acb45213338c 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -220,7 +220,16 @@ typedef unsigned int blk_qc_t;
* stacking drivers)
*/
struct bio {
- struct bio *bi_next; /* request queue link */
+ union {
+ /* request queue link */
+ struct bio *bi_next;
+
+ /*
+ * once bio is submitted to bio based queue, driver can use
+ * this field to store its own data
+ */
+ void *bi_bio_drv_data;
+ };
struct block_device *bi_bdev;
unsigned int bi_opf; /* bottom bits req flags,
* top bits REQ_OP. Use
--
2.31.1
More information about the dm-devel
mailing list