Commit f04ebb0b authored by NeilBrown's avatar NeilBrown

md/raid10: round up to bdev_logical_block_size in narrow_write_error.

RAID10 version of earlier fix for RAID1.  We must never initiate
IO with sizes less that logical_block_size.
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent ab713cdc
...@@ -2572,7 +2572,8 @@ static int narrow_write_error(struct r10bio *r10_bio, int i) ...@@ -2572,7 +2572,8 @@ static int narrow_write_error(struct r10bio *r10_bio, int i)
if (rdev->badblocks.shift < 0) if (rdev->badblocks.shift < 0)
return 0; return 0;
block_sectors = 1 << rdev->badblocks.shift; block_sectors = roundup(1 << rdev->badblocks.shift,
bdev_logical_block_size(rdev->bdev) >> 9);
sector = r10_bio->sector; sector = r10_bio->sector;
sectors = ((r10_bio->sector + block_sectors) sectors = ((r10_bio->sector + block_sectors)
& ~(sector_t)(block_sectors - 1)) & ~(sector_t)(block_sectors - 1))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment