diff --git a/[refs] b/[refs] index 4f20e95f8dac..9a7b117cbf6c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2b6e845986347ef86729e8651908af3e8a8441f5 +refs/heads/master: 01ab5662f573fe3a6bcefa200f15ab3069cec8a3 diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index c40ce9f9cc9b..50ab4a936e30 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -4045,11 +4045,8 @@ static int update_size(mddev_t *mddev, unsigned long size) return -EBUSY; ITERATE_RDEV(mddev,rdev,tmp) { sector_t avail; - if (rdev->sb_offset > rdev->data_offset) - avail = (rdev->sb_offset*2) - rdev->data_offset; - else - avail = get_capacity(rdev->bdev->bd_disk) - - rdev->data_offset; + avail = rdev->size * 2; + if (fit && (size == 0 || size > avail/2)) size = avail/2; if (avail < ((sector_t)size << 1))