create_log_context() must use the logical_block_size from the log disk rather than the target's logical_block_size. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> --- drivers/md/dm-log.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: linux-2.6/drivers/md/dm-log.c =================================================================== --- linux-2.6.orig/drivers/md/dm-log.c +++ linux-2.6/drivers/md/dm-log.c @@ -404,17 +404,19 @@ static int create_log_context(struct dm_ } lc->disk_header = NULL; } else { + struct request_queue *q; lc->log_dev = dev; lc->log_dev_failed = 0; lc->header_location.bdev = lc->log_dev->bdev; lc->header_location.sector = 0; + q = bdev_get_queue(lc->header_location.bdev); /* * Buffer holds both header and bitset. */ buf_size = dm_round_up((LOG_OFFSET << SECTOR_SHIFT) + bitset_size, - ti->limits.logical_block_size); + q->limits.logical_block_size); if (buf_size > i_size_read(dev->bdev->bd_inode)) { DMWARN("log device %s too small: need %llu bytes", -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel