Welcome! Log In Create A New Profile


Changes in new linux kernel 4.4.2 distributed with SLES 12 SP2 causing driver build failure

Posted by durgesht 
I am building my SLES 12 driver (block device driver) with 3.x kernel on SLES 12 SP2 which has kernel version 4.4.2 . Now I am facing problem with few things:

struct bvec_merge_data

is not available in kernel 4.3.0 onwards in include/linux/blkdev.h

struct bvec_merge_data { struct block_device *bi_bdev;
sector_t bi_sector;
unsigned bi_size;
unsigned long bi_rw; };

from 4.2.8 onward this funtion pointer is not present. What might be the alternative method is provided in 4.3 or higher versions.
typedef int (merge_bvec_fn) (struct request_queue *, struct bvec_merge_data *, struct bio_vec *);

In the request_queue structure the below structure elements are removed form 4.2.8 where these elemments are handled

struct request_queue {
unprep_rq_fn *unprep_rq_fn;
merge_bvec_fn *merge_bvec_fn;

Any idea where can I look for these changes and and any alternative for those?

Your Email:


Spam prevention:
Please, solve the mathematical question and enter the answer in the input field below. This is for blocking bots that try to post this form automatically.
Question: how much is 13 plus 5?