diff options
author | raz ben yehuda <raziebe@gmail.com> | 2009-06-16 17:01:22 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-06-16 17:01:22 +1000 |
commit | 964e7913b0d25b988e27a7cd9378bc55cc572bb4 (patch) | |
tree | 466f84698511b4b8639408530cfec0a2bd5dea4c /drivers/md/raid10.c | |
parent | 92e59b6ba21845fadd2cce725010a9351740b76e (diff) | |
download | lwn-964e7913b0d25b988e27a7cd9378bc55cc572bb4.tar.gz lwn-964e7913b0d25b988e27a7cd9378bc55cc572bb4.zip |
md: raid10: chunk size check in run
have raid10 check chunk size in run method instead of in md
Signed-off-by: raziebe@gmail.com
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid10.c')
-rw-r--r-- | drivers/md/raid10.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 9a5beb4fd954..06bef686f91b 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -2050,9 +2050,10 @@ static int run(mddev_t *mddev) int nc, fc, fo; sector_t stride, size; - if (mddev->chunk_size < PAGE_SIZE) { + if (mddev->chunk_size < PAGE_SIZE || + !is_power_of_2(mddev->chunk_size)) { printk(KERN_ERR "md/raid10: chunk size must be " - "at least PAGE_SIZE(%ld).\n", PAGE_SIZE); + "at least PAGE_SIZE(%ld) and be a power of 2.\n", PAGE_SIZE); return -EINVAL; } |