aboutsummaryrefslogtreecommitdiff
path: root/drivers/md/raid5.c
diff options
context:
space:
mode:
authorraz ben yehuda <raziebe@gmail.com>2009-06-16 17:01:36 +1000
committerNeilBrown <neilb@suse.de>2009-06-16 17:01:36 +1000
commit740da44918680a0c72411ae4ccdd1861069afcc4 (patch)
tree2d68483563ee16198af3418c40352c34828cc01f /drivers/md/raid5.c
parent964e7913b0d25b988e27a7cd9378bc55cc572bb4 (diff)
md: raid5: chunk size check in setup_conf
have raid5 check chunk size in run/reshape method instead of in md Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid5.c')
-rw-r--r--drivers/md/raid5.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 7fb97c65ad3..be4e62f611b 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -4336,7 +4336,8 @@ static raid5_conf_t *setup_conf(mddev_t *mddev)
return ERR_PTR(-EINVAL);
}
- if (!mddev->new_chunk || mddev->new_chunk % PAGE_SIZE) {
+ if (!mddev->new_chunk || mddev->new_chunk % PAGE_SIZE ||
+ !is_power_of_2(mddev->new_chunk)) {
printk(KERN_ERR "raid5: invalid chunk size %d for %s\n",
mddev->new_chunk, mdname(mddev));
return ERR_PTR(-EINVAL);