From f84b05519a15c650f667d7fef5967244ffbdaca6 Mon Sep 17 00:00:00 2001 From: Johann Latocha Date: Thu, 23 Feb 2012 19:28:19 +0100 Subject: [KERNEL] Read ahead increased --- 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 1023743..2b12b74 100644 --- a/src/kernel/blk.c +++ b/src/kernel/blk.c @@ -22,6 +22,8 @@ #include "net.h" #include "sysfs.h" +#include + int dnbd3_blk_add_device(dnbd3_device_t *dev, int minor) { struct gendisk *disk; @@ -69,6 +71,8 @@ int dnbd3_blk_add_device(dnbd3_device_t *dev, int minor) } blk_queue_logical_block_size(blk_queue, DNBD3_BLOCK_SIZE); + blk_queue_physical_block_size(blk_queue, DNBD3_BLOCK_SIZE); + disk->queue = blk_queue; disk->private_data = dev; queue_flag_set_unlocked(QUEUE_FLAG_NONROT, disk->queue); @@ -95,6 +99,7 @@ struct block_device_operations dnbd3_blk_ops = int dnbd3_blk_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg) { dnbd3_device_t *dev = bdev->bd_disk->private_data; + struct request_queue *blk_queue = dev->disk->queue; dnbd3_ioctl_t *msg = kmalloc(sizeof(dnbd3_ioctl_t), GFP_KERNEL); copy_from_user((char *)msg, (char *)arg, sizeof(*msg)); @@ -105,6 +110,7 @@ int dnbd3_blk_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, u strcpy(dev->cur_server.port, msg->port); dev->vid = msg->vid; dev->rid = msg->rid; + blk_queue->backing_dev_info.ra_pages = (msg->read_ahead_kb * 1024)/ PAGE_CACHE_SIZE; dnbd3_net_connect(dev); break; -- cgit v1.2.3-55-g7522