From 0b4c6ced6ee1ee3f6ba4442973ed1901bae7da1e Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 9 Oct 2017 15:11:13 +0200 Subject: [KERNEL] version check to support pointer to backing_dev_info in request_queue This changed in 4.11, see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dc3b17cc8bf21307c7e076e7c778d5db756f7871 --- src/kernel/blk.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/kernel') diff --git a/src/kernel/blk.c b/src/kernel/blk.c index 7a2b6e9..5dec195 100644 --- a/src/kernel/blk.c +++ b/src/kernel/blk.c @@ -174,7 +174,13 @@ int dnbd3_blk_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, u // Forget all alt servers on explicit connect, set first al server to initial server memset(dev->alt_servers, 0, sizeof(dev->alt_servers[0])*NUMBER_SERVERS); memcpy(dev->alt_servers, &dev->initial_server, sizeof(dev->alt_servers[0])); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) + if (blk_queue->backing_dev_info != NULL) { + blk_queue->backing_dev_info->ra_pages = (msg->read_ahead_kb * 1024) / PAGE_SIZE; + } +#else blk_queue->backing_dev_info.ra_pages = (msg->read_ahead_kb * 1024) / PAGE_SIZE; +#endif if (dnbd3_net_connect(dev) == 0) { result = 0; -- cgit v1.2.3-55-g7522