[PATCH 03/54] md/raid0: Move a variable assignment in create_strip_zones()

From: SF Markus Elfring
Date: Thu Oct 06 2016 - 04:55:23 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 4 Oct 2016 12:02:29 +0200

One local variable was set to an error code before a concrete
error situation was detected. Thus move the corresponding assignment into
two if branches to indicate a memory allocation failure there.

Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
drivers/md/raid0.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c
index 3c76451..71bd398 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -149,17 +149,21 @@ static int create_strip_zones(struct mddev *mddev, struct r0conf **private_conf)
goto free_conf;
}

- err = -ENOMEM;
conf->strip_zone = kcalloc(conf->nr_strip_zones,
sizeof(*conf->strip_zone),
GFP_KERNEL);
- if (!conf->strip_zone)
+ if (!conf->strip_zone) {
+ err = -ENOMEM;
goto free_conf;
+ }
+
conf->devlist = kcalloc(conf->nr_strip_zones * mddev->raid_disks,
sizeof(*conf->devlist),
GFP_KERNEL);
- if (!conf->devlist)
+ if (!conf->devlist) {
+ err = -ENOMEM;
goto free_zone;
+ }

/* The first zone must contain all devices, so here we check that
* there is a proper alignment of slots to devices and find them all
--
2.10.1