Commit 0e6e0271 authored by NeilBrown's avatar NeilBrown

md/raid5: fix bug in reshape code when chunk_size decreases.

Now that we support changing the chunksize, we calculate
"reshape_sectors" to be the max of number of sectors in old
and new chunk size.
However there is one please where we still use 'chunksize'
rather than 'reshape_sectors'.
This causes a reshape that reduces the size of chunks to freeze.
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent a8c906ca
...@@ -3916,7 +3916,7 @@ static sector_t reshape_request(mddev_t *mddev, sector_t sector_nr, int *skipped ...@@ -3916,7 +3916,7 @@ static sector_t reshape_request(mddev_t *mddev, sector_t sector_nr, int *skipped
raid5_compute_sector(conf, stripe_addr*(new_data_disks), raid5_compute_sector(conf, stripe_addr*(new_data_disks),
1, &dd_idx, NULL); 1, &dd_idx, NULL);
last_sector = last_sector =
raid5_compute_sector(conf, ((stripe_addr+conf->chunk_size/512) raid5_compute_sector(conf, ((stripe_addr+reshape_sectors)
*(new_data_disks) - 1), *(new_data_disks) - 1),
1, &dd_idx, NULL); 1, &dd_idx, NULL);
if (last_sector >= mddev->dev_sectors) if (last_sector >= mddev->dev_sectors)
......
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