diff options
author | Simon Rettberg | 2018-07-06 15:30:30 +0200 |
---|---|---|
committer | Simon Rettberg | 2018-07-06 15:30:30 +0200 |
commit | c1ebcb5b7b142c774fe78821d866fc7c3d14abf2 (patch) | |
tree | bbb21a3c8d88fbef8fef9272ee80254a55fb56d2 /src/kernel | |
parent | CMake: Hide kernel option on BSD, make kernel dir configurable (diff) | |
download | dnbd3-c1ebcb5b7b142c774fe78821d866fc7c3d14abf2.tar.gz dnbd3-c1ebcb5b7b142c774fe78821d866fc7c3d14abf2.tar.xz dnbd3-c1ebcb5b7b142c774fe78821d866fc7c3d14abf2.zip |
[KERNEL] Add support for kernel 4.17.x
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/blk.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/kernel/blk.c b/src/kernel/blk.c index 511d349..405e2ef 100644 --- a/src/kernel/blk.c +++ b/src/kernel/blk.c @@ -94,8 +94,19 @@ int dnbd3_blk_add_device(dnbd3_device_t *dev, int minor) disk->queue = blk_queue; disk->private_data = dev; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0) + blk_queue_flag_set(QUEUE_FLAG_NONROT, disk->queue); + blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, disk->queue); +#else queue_flag_set_unlocked(QUEUE_FLAG_NONROT, disk->queue); +#endif +#define ONE_MEG (1048576) + blk_queue_max_segment_size(disk->queue, ONE_MEG); + blk_queue_max_segments(disk->queue, 0xffff); + blk_queue_max_hw_sectors(disk->queue, ONE_MEG / DNBD3_BLOCK_SIZE); + disk->queue->limits.max_sectors = 512; dev->disk = disk; +#undef ONE_MEG add_disk(disk); dnbd3_sysfs_init(dev); |