Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1496531

[PATCH 45/54] md/raid10: Move assignments for the variable "err" in setup_conf()

Path csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod
From SF Markus Elfring <elfring@users.sourceforge.net>
Newsgroups linux.kernel
Subject [PATCH 45/54] md/raid10: Move assignments for the variable "err" in setup_conf()
Date Thu, 06 Oct 2016 11:50:02 +0200
Message-ID <spdto-6Li-19@gated-at.bofh.it> (permalink)
References <qEuGl-43C-5@gated-at.bofh.it> <spcH0-6dt-53@gated-at.bofh.it>
X-Original-To linux-raid@vger.kernel.org, Christoph Hellwig <hch@lst.de>, Guoqing Jiang <gqjiang@suse.com>, Jens Axboe <axboe@fb.com>, Mike Christie <mchristi@redhat.com>, Neil Brown <neilb@suse.com>, Shaohua Li <shli@kernel.org>, Tomasz Majchrzak <tomasz.majchrzak@intel.com>
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0
MIME-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 7bit
X-Provags-ID V03:K0:2rEhhEARW6lFiWqCMoGO7aueQWVtu1wuBR8o7nBD7q7P4pXOvd6 j/7ErMW4TyyhiAcwp+SDht2NL0GUJHc2LFmPrFZTjFivmhhRxlCEvrGGLhp2HJBM62j7WTo /2hsr0an0Xybv0eQx48A8iiZH9V1wJTrn7YzsOEqfQ1NCa2Ju8XoZyHpqjP97vCL8mC19CS Eo8oXsfKhyJIgSb+7YJ2w==
X-Ui-Out-Filterresults notjunk:1;V01:K0:T/1U6Dj0SCA=:K078t8FZ3jPmz8AozsFeAh liP6rwhGTgWaKWpcUF5DrmOQuV6nVQ6u/Fllp/jQ2JiQe7Bqc1AiGlC/JlVh1kUWd0ASHX8DK FmAObu5uJ7e8Kp8MFqAXaLgL8tyIOAyJVeH8SX/LjGFclZjOsfBKg3hRH0n2ZsYe3NV8Iu1S+ 6a4TYf22fC7CbnOgp+p2yRWRNr0rK/+Zl5JT9J46wLAEMuWxka0amPE216tvrOwdDIBYryrhy kG69rHit0Useoi2v0NhdeZQbqpcqCd9eWim79GviMLFShGqteMnlBRPGNnlb7W29EvI09gOLn fGnyB5chGgfZ4W37kxewUomRXsrJEVkaGVtRwhWzx75Eh0IQ6dpnsGciznFZb1Rh+gjbB+aka dzUVTAnD2GQlGhim56XRtSwAwO+fY/Xe0k0CrIb2L17a0CjVUjCkrRU7tbnMAkaOwiHgTDq4b DiISrgj0GzNWK1gF9Qb8XK8zqNjdgM4p0cz0PwGb6SccjL5pIFjQKTSfMhC5QMS94NDju8NN1 WGi+mFeNFh4PvwoTTkiOMtNR801vcgwj34Spxsytsd2DrJLUPcBFzr2mEma1FlhtzjuyqETFP K2dNA6k01+l4MhN7bcwg2HmYKTn5BrjFXm2OzC5BWC35+TqBfKXecKkzBWpYoxrtktyrkwfiI 2ZnB9Jn60z44EmtitjSTnixb8x/coNpewgG6X6bURpQ6xxu/dSTnXysDhg9qtbrZIcvVt+kCD ILzjbSxOsEw+1y7g1jsRKA9rtyDfwoh518Q1HZpzdOdKNqxHTmkWBpjMcnKLE65PovY2YC1Wz u7OEhk8
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 67
Organization linux.* mail to news gateway
X-Original-Cc LKML <linux-kernel@vger.kernel.org>, kernel-janitors@vger.kernel.org, Julia Lawall <julia.lawall@lip6.fr>
X-Original-Date Thu, 6 Oct 2016 11:45:24 +0200
X-Original-Message-ID <aaf54edd-9051-e72d-90b3-3c2755e0736c@users.sourceforge.net>
X-Original-References <566ABCD9.1060404@users.sourceforge.net> <786843ef-4b6f-eb04-7326-2f6f5b408826@users.sourceforge.net>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1496531

Show key headers only | View raw


From: Markus Elfring <elfring@users.sourceforge.net>
Date: Wed, 5 Oct 2016 18:26:45 +0200

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

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/md/raid10.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index abe75c2..7e512d4 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -3498,7 +3498,6 @@ static struct r10conf *setup_conf(struct mddev *mddev)
 		return ERR_PTR(-EINVAL);
 	}
 
-	err = -ENOMEM;
 	conf = kzalloc(sizeof(*conf), GFP_KERNEL);
 	if (!conf)
 		return ERR_PTR(-ENOMEM);
@@ -3507,19 +3506,25 @@ static struct r10conf *setup_conf(struct mddev *mddev)
 	conf->mirrors = kcalloc(mddev->raid_disks + max(0, -mddev->delta_disks),
 				sizeof(*conf->mirrors),
 				GFP_KERNEL);
-	if (!conf->mirrors)
+	if (!conf->mirrors) {
+		err = -ENOMEM;
 		goto out;
+	}
 
 	conf->tmppage = alloc_page(GFP_KERNEL);
-	if (!conf->tmppage)
+	if (!conf->tmppage) {
+		err = -ENOMEM;
 		goto out;
+	}
 
 	conf->geo = geo;
 	conf->copies = copies;
 	conf->r10bio_pool = mempool_create(NR_RAID10_BIOS, r10bio_pool_alloc,
 					   r10bio_pool_free, conf);
-	if (!conf->r10bio_pool)
+	if (!conf->r10bio_pool) {
+		err = -ENOMEM;
 		goto out;
+	}
 
 	calc_sectors(conf, mddev->dev_sectors);
 	if (mddev->reshape_position == MaxSector) {
@@ -3547,8 +3552,10 @@ static struct r10conf *setup_conf(struct mddev *mddev)
 	atomic_set(&conf->nr_pending, 0);
 
 	conf->thread = md_register_thread(raid10d, mddev, "raid10");
-	if (!conf->thread)
+	if (!conf->thread) {
+		err = -ENOMEM;
 		goto out;
+	}
 
 	conf->mddev = mddev;
 	return conf;
-- 
2.10.1

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

MD-RAID: Fine-tuning for several function implementations SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:40 +0200
  [PATCH 33/54] md/raid5: Replace printk() calls by the usage of higher  level interfaces SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:40 +0200
  [PATCH 34/54] md/raid5: Delete indentation for two jump labels SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:40 +0200
  [PATCH 35/54] md/raid5: Adjust 13 checks for null pointers SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:40 +0200
  [PATCH 36/54] md/raid5: Delete four unwanted spaces behind function  names SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:40 +0200
  [PATCH 43/54] md/raid10: Return directly after detection of  unsupported settings in setup_conf() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 42/54] md/raid10: Delete an error message for a failed memory  allocation SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 46/54] md/raid10: Less function calls in setup_conf() after  error detection SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 47/54] md/raid10: Improve another size determination in  raid10_start_reshape() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 48/54] md/raid10: Move a brace for a designated initialiser SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 41/54] md/raid10: Improve another size determination in  setup_conf() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 45/54] md/raid10: Move assignments for the variable "err" in  setup_conf() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 39/54] md/raid5: Add some spaces for better code readability SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 44/54] md/raid10: Return directly after a failed kzalloc() in  setup_conf() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 49/54] md/raid10: Replace printk() calls by the usage of  higher level interfaces SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
    Re: [PATCH 49/54] md/raid10: Replace printk() calls by the usage of  higher level interfaces Joe Perches <coupons@perches.com> - 2016-10-06 18:40 +0200
      Re: [PATCH 49/54] md/raid10: Replace printk() calls by the usage of  higher level interfaces SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 19:30 +0200
        Re: [PATCH 49/54] md/raid10: Replace printk() calls by the usage of  higher level interfaces Joe Perches <joe@perches.com> - 2016-10-06 19:40 +0200
          Re: md/raid10: Replace printk() calls by the usage of higher level  interfaces SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 20:10 +0200
            Re: md/raid10: Replace printk() calls by the usage of higher level  interfaces Joe Perches <joe@perches.com> - 2016-10-06 20:20 +0200
              Re: md/raid10: Replace printk() calls by the usage of higher level  interfaces SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 20:40 +0200
  [PATCH 40/54] md/raid10: Use kcalloc() in two functions SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 53/54] md/raid10: Delete two unwanted spaces behind asterisks SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 12:00 +0200
  [PATCH 52/54] md/raid10: Replace a seq_printf() call by seq_puts() in  raid10_status() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 12:00 +0200
  [PATCH 50/54] md/raid10: Delete indentation for one jump label SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 12:00 +0200
  [PATCH 54/54] md/raid10: Add some spaces for better code readability SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 12:00 +0200
  [PATCH 51/54] md/raid10: Adjust 22 checks for null pointers SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 12:00 +0200

csiph-web