[PATCHv2 6/7] blk-mq-dma: add support for mapping integrity metadata
kernel test robot
lkp at intel.com
Sun Jul 20 20:18:18 PDT 2025
Hi Keith,
kernel test robot noticed the following build warnings:
[auto build test WARNING on axboe-block/for-next]
[cannot apply to linux-nvme/for-next hch-configfs/for-next linus/master v6.16-rc7 next-20250718]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Keith-Busch/blk-mq-dma-move-the-bio-and-bvec_iter-to-blk_dma_iter/20250721-024616
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link: https://lore.kernel.org/r/20250720184040.2402790-7-kbusch%40meta.com
patch subject: [PATCHv2 6/7] blk-mq-dma: add support for mapping integrity metadata
config: riscv-randconfig-001-20250721 (https://download.01.org/0day-ci/archive/20250721/202507211037.lzkMQLrY-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 16534d19bf50bde879a83f0ae62875e2c5120e64)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250721/202507211037.lzkMQLrY-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507211037.lzkMQLrY-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from block/blk-mq.c:13:
>> include/linux/blk-integrity.h:117:6: warning: no previous prototype for function 'blk_rq_integrity_dma_map_iter_start' [-Wmissing-prototypes]
117 | bool blk_rq_integrity_dma_map_iter_start(struct request *req,
| ^
include/linux/blk-integrity.h:117:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
117 | bool blk_rq_integrity_dma_map_iter_start(struct request *req,
| ^
| static
>> include/linux/blk-integrity.h:123:6: warning: no previous prototype for function 'blk_rq_integrity_dma_map_iter_next' [-Wmissing-prototypes]
123 | bool blk_rq_integrity_dma_map_iter_next(struct request *req,
| ^
include/linux/blk-integrity.h:123:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
123 | bool blk_rq_integrity_dma_map_iter_next(struct request *req,
| ^
| static
2 warnings generated.
--
In file included from block/blk-mq-dma.c:5:
>> include/linux/blk-integrity.h:117:6: warning: no previous prototype for function 'blk_rq_integrity_dma_map_iter_start' [-Wmissing-prototypes]
117 | bool blk_rq_integrity_dma_map_iter_start(struct request *req,
| ^
include/linux/blk-integrity.h:117:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
117 | bool blk_rq_integrity_dma_map_iter_start(struct request *req,
| ^
| static
>> include/linux/blk-integrity.h:123:6: warning: no previous prototype for function 'blk_rq_integrity_dma_map_iter_next' [-Wmissing-prototypes]
123 | bool blk_rq_integrity_dma_map_iter_next(struct request *req,
| ^
include/linux/blk-integrity.h:123:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
123 | bool blk_rq_integrity_dma_map_iter_next(struct request *req,
| ^
| static
block/blk-mq-dma.c:23:27: error: no member named 'bi_integrity' in 'struct bio'
23 | iter->iter = iter->bio->bi_integrity->bip_iter;
| ~~~~~~~~~ ^
block/blk-mq-dma.c:24:27: error: no member named 'bi_integrity' in 'struct bio'
24 | iter->bvec = iter->bio->bi_integrity->bip_vec;
| ~~~~~~~~~ ^
2 warnings and 2 errors generated.
vim +/blk_rq_integrity_dma_map_iter_start +117 include/linux/blk-integrity.h
90
91 /*
92 * Return the current bvec that contains the integrity data. bip_iter may be
93 * advanced to iterate over the integrity data.
94 */
95 static inline struct bio_vec rq_integrity_vec(struct request *rq)
96 {
97 return mp_bvec_iter_bvec(rq->bio->bi_integrity->bip_vec,
98 rq->bio->bi_integrity->bip_iter);
99 }
100 #else /* CONFIG_BLK_DEV_INTEGRITY */
101 static inline int blk_rq_count_integrity_sg(struct request_queue *q,
102 struct bio *b)
103 {
104 return 0;
105 }
106 static inline int blk_rq_map_integrity_sg(struct request *q,
107 struct scatterlist *s)
108 {
109 return 0;
110 }
111 static inline int blk_rq_integrity_map_user(struct request *rq,
112 void __user *ubuf,
113 ssize_t bytes)
114 {
115 return -EINVAL;
116 }
> 117 bool blk_rq_integrity_dma_map_iter_start(struct request *req,
118 struct device *dma_dev, struct dma_iova_state *state,
119 struct blk_dma_iter *iter)
120 {
121 return false;
122 }
> 123 bool blk_rq_integrity_dma_map_iter_next(struct request *req,
124 struct device *dma_dev, struct blk_dma_iter *iter)
125 {
126 return false;
127 }
128 static inline struct blk_integrity *bdev_get_integrity(struct block_device *b)
129 {
130 return NULL;
131 }
132 static inline struct blk_integrity *blk_get_integrity(struct gendisk *disk)
133 {
134 return NULL;
135 }
136 static inline bool
137 blk_integrity_queue_supports_integrity(struct request_queue *q)
138 {
139 return false;
140 }
141 static inline unsigned short
142 queue_max_integrity_segments(const struct request_queue *q)
143 {
144 return 0;
145 }
146
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the Linux-nvme
mailing list