Thread (1 message) 1 message, 1 author, 2009-05-20

Re: Subject: [PATCH 008/009]: raid5: chunk size check in run

From: Neil Brown <hidden>
Date: 2009-05-20 01:39:25

On Tuesday May 19, raziebe@gmail.com wrote:
quoted hunk
have raid5 check chunk size in run method instead of in md
 raid5.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
Signed-Off-by:raziebe@gmail.com
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index e4608d6..0c688ee 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -4452,7 +4452,15 @@ static int run(mddev_t *mddev)
 	raid5_conf_t *conf;
 	int working_disks = 0;
 	mdk_rdev_t *rdev;
-
+	/*
+	 * chunk-size has to be a power of 2
+	 */
+	if ((1 << ffz(~mddev->chunk_size)) != mddev->chunk_size) {
+		printk(KERN_ERR "%s chunk_size of %d not valid\n",
+			mdname(mddev),
+			mddev->chunk_size);
+		return -EINVAL;
+	}
 	if (mddev->reshape_position != MaxSector) {
 		/* Check that we can continue the reshape.
 		 * Currently only disks can change, it must
I've moved this test from 'run' to 'setup_conf' which is called by run
and also by the reshape code, and already has a test on chunk_size.

Thanks,
NeilBrown
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help