mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 20:54:10 +08:00
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 <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
parent
af4874e03e
commit
18d8594dd9
@ -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",
|
||||
|
Loading…
Reference in New Issue
Block a user