From: Mike Snitzer Date: Mon, 22 Jun 2009 09:12:33 +0000 (+0100) Subject: dm log: fix create_log_context to use logical_block_size of log device X-Git-Tag: v2.6.31-rc1~8^2~7 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=18d8594dd93a1ae2fafd591ec026e87d743292bf;p=~shefty%2Frdma-dev.git dm log: fix create_log_context to use logical_block_size of log device create_log_context() must use the logical_block_size from the log disk, where the I/O happens, not the target's logical_block_size. Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon --- diff --git a/drivers/md/dm-log.c b/drivers/md/dm-log.c index 6352a9ad444..9443896ede0 100644 --- a/drivers/md/dm-log.c +++ b/drivers/md/dm-log.c @@ -412,9 +412,10 @@ static int create_log_context(struct dm_dirty_log *log, struct dm_target *ti, /* * Buffer holds both header and bitset. */ - buf_size = dm_round_up((LOG_OFFSET << SECTOR_SHIFT) + - bitset_size, - ti->limits.logical_block_size); + buf_size = + dm_round_up((LOG_OFFSET << SECTOR_SHIFT) + bitset_size, + bdev_logical_block_size(lc->header_location. + bdev)); if (buf_size > i_size_read(dev->bdev->bd_inode)) { DMWARN("log device %s too small: need %llu bytes",