【发布时间】:2017-11-13 18:37:36
【问题描述】:
我正在使用 3.x 内核在内核版本为 4.4.2 的 SLES 12 SP2 上构建我的 SLES 12 驱动程序(块设备驱动程序)。现在我面临一些问题:
-
结构 bvec_merge_data
在内核 4.3.0 及更高版本的 include/linux/blkdev.h 中不可用
结构 bvec_merge_data { struct block_device *bi_bdev;
扇区_t bi_sector;
无符号 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 中删除 结构请求队列{
unprep_rq_fn *unprep_rq_fn;
merge_bvec_fn *merge_bvec_fn;
知道我在哪里可以找到这些变化以及这些变化的替代方案吗?
【问题讨论】:
标签: linux-kernel linux-device-driver suse sles