我正在使用 3.x 内核在内核版本为 4.4.2 的 SLES 12 SP2 上构建我的 SLES 12 驱动程序(块设备驱动程序)。现在我面临一些问题:
结构 bvec_merge_data
在 include/linux/blkdev.h 的内核 4.3.0 及以后版本中不可用
struct bvec_merge_data { struct block_device *bi_bdev;
扇区_t 双扇区;
无符号bi_size;
无符号长 bi_rw; };从 4.2.8 开始,此函数指针不存在。4.3 或更高版本中提供了可能的替代方法。
typedef int (merge_bvec_fn) (struct request_queue *, struct bvec_merge_data *, struct bio_vec *);
- 在 request_queue 结构中,从 4.2.8 中删除了以下结构元素,其中处理了这些元素 struct request_queue {
unprep_rq_fn *unprep_rq_fn;
合并bvec_fn *merge_bvec_fn;
知道我在哪里可以找到这些变化以及这些变化的任何替代方案吗?