[dm-devel] [PATCH] dm-thinp: report correct optimal I/O size

Christoph Hellwig hch at infradead.org
Wed Apr 27 13:41:50 UTC 2011


tc->block_shift is the shift to get from a sector to the block_size,
and it doesn't make any sense to apply that to the block size.
Without this I get overflows of the optimal I/O size queue limit
when using large block sizes in dm-thinp.

Signed-off-by: Christoph Hellwig <hch at lst.de>

Index: linux-2.6/drivers/md/dm-thin-prov.c
===================================================================
--- linux-2.6.orig/drivers/md/dm-thin-prov.c	2011-04-27 15:30:22.798345522 +0200
+++ linux-2.6/drivers/md/dm-thin-prov.c	2011-04-27 15:30:49.084869781 +0200
@@ -641,7 +641,7 @@ thinp_io_hints(struct dm_target *ti, str
 	struct thinp_c *tc = ti->private;
 
 	blk_limits_io_min(limits, 0);
-	blk_limits_io_opt(limits, tc->block_size << tc->block_shift);
+	blk_limits_io_opt(limits, tc->block_size);
 }
 
 static int thinp_iterate_devices(struct dm_target *ti,




More information about the dm-devel mailing list