|
 |
b7f731 |
From f8c432bfc9929dbbcb659b2d11552dc9fc76ad24 Mon Sep 17 00:00:00 2001
|
|
 |
b7f731 |
From: Jes Sorensen <jsorensen@fb.com>
|
|
 |
b7f731 |
Date: Tue, 25 Apr 2017 15:01:43 -0400
|
|
 |
b7f731 |
Subject: [RHEL7.5 PATCH 099/169] Incremental: Cleanup some if() statement
|
|
 |
b7f731 |
spaghetti
|
|
 |
b7f731 |
|
|
 |
b7f731 |
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
|
|
 |
b7f731 |
---
|
|
 |
b7f731 |
Incremental.c | 50 +++++++++++++++++++++-----------------------------
|
|
 |
b7f731 |
1 file changed, 21 insertions(+), 29 deletions(-)
|
|
 |
b7f731 |
|
|
 |
b7f731 |
diff --git a/Incremental.c b/Incremental.c
|
|
 |
b7f731 |
index a351151..66c5b03 100644
|
|
 |
b7f731 |
--- a/Incremental.c
|
|
 |
b7f731 |
+++ b/Incremental.c
|
|
 |
b7f731 |
@@ -225,8 +225,8 @@ int Incremental(struct mddev_dev *devlist, struct context *c,
|
|
 |
b7f731 |
if (!match && rv == 2)
|
|
 |
b7f731 |
goto out;
|
|
 |
b7f731 |
|
|
 |
b7f731 |
- if (match && match->devname
|
|
 |
b7f731 |
- && strcasecmp(match->devname, "<ignore>") == 0) {
|
|
 |
b7f731 |
+ if (match && match->devname &&
|
|
 |
b7f731 |
+ strcasecmp(match->devname, "<ignore>") == 0) {
|
|
 |
b7f731 |
if (c->verbose >= 0)
|
|
 |
b7f731 |
pr_err("array containing %s is explicitly ignored by mdadm.conf\n",
|
|
 |
b7f731 |
devname);
|
|
 |
b7f731 |
@@ -267,8 +267,7 @@ int Incremental(struct mddev_dev *devlist, struct context *c,
|
|
 |
b7f731 |
c->autof = ci->autof;
|
|
 |
b7f731 |
|
|
 |
b7f731 |
name_to_use = info.name;
|
|
 |
b7f731 |
- if (name_to_use[0] == 0 &&
|
|
 |
b7f731 |
- info.array.level == LEVEL_CONTAINER) {
|
|
 |
b7f731 |
+ if (name_to_use[0] == 0 && info.array.level == LEVEL_CONTAINER) {
|
|
 |
b7f731 |
name_to_use = info.text_version;
|
|
 |
b7f731 |
trustworthy = METADATA;
|
|
 |
b7f731 |
}
|
|
 |
b7f731 |
@@ -398,11 +397,10 @@ int Incremental(struct mddev_dev *devlist, struct context *c,
|
|
 |
b7f731 |
* flag has a different meaning. The test has to happen
|
|
 |
b7f731 |
* at the device level there
|
|
 |
b7f731 |
*/
|
|
 |
b7f731 |
- if (!st->ss->external
|
|
 |
b7f731 |
- && (info.disk.state & (1<
|
|
 |
b7f731 |
- && ! policy_action_allows(policy, st->ss->name,
|
|
 |
b7f731 |
- act_re_add)
|
|
 |
b7f731 |
- && c->runstop < 1) {
|
|
 |
b7f731 |
+ if (!st->ss->external &&
|
|
 |
b7f731 |
+ (info.disk.state & (1 << MD_DISK_SYNC)) != 0 &&
|
|
 |
b7f731 |
+ !policy_action_allows(policy, st->ss->name, act_re_add) &&
|
|
 |
b7f731 |
+ c->runstop < 1) {
|
|
 |
b7f731 |
if (md_array_active(mdfd)) {
|
|
 |
b7f731 |
pr_err("not adding %s to active array (without --run) %s\n",
|
|
 |
b7f731 |
devname, chosen_name);
|
|
 |
b7f731 |
@@ -537,8 +535,7 @@ int Incremental(struct mddev_dev *devlist, struct context *c,
|
|
 |
b7f731 |
info.array.state |= 1;
|
|
 |
b7f731 |
|
|
 |
b7f731 |
if (enough(info.array.level, info.array.raid_disks,
|
|
 |
b7f731 |
- info.array.layout, info.array.state & 1,
|
|
 |
b7f731 |
- avail) == 0) {
|
|
 |
b7f731 |
+ info.array.layout, info.array.state & 1, avail) == 0) {
|
|
 |
b7f731 |
if (c->export) {
|
|
 |
b7f731 |
printf("MD_STARTED=no\n");
|
|
 |
b7f731 |
} else if (c->verbose >= 0)
|
|
 |
b7f731 |
@@ -599,8 +596,8 @@ int Incremental(struct mddev_dev *devlist, struct context *c,
|
|
 |
b7f731 |
if (d->disk.state & (1<
|
|
 |
b7f731 |
remove_disk(mdfd, st, sra, d);
|
|
 |
b7f731 |
|
|
 |
b7f731 |
- if ((sra == NULL || active_disks >= info.array.working_disks)
|
|
 |
b7f731 |
- && trustworthy != FOREIGN)
|
|
 |
b7f731 |
+ if ((sra == NULL || active_disks >= info.array.working_disks) &&
|
|
 |
b7f731 |
+ trustworthy != FOREIGN)
|
|
 |
b7f731 |
rv = ioctl(mdfd, RUN_ARRAY, NULL);
|
|
 |
b7f731 |
else
|
|
 |
b7f731 |
rv = sysfs_set_str(sra, NULL,
|
|
 |
b7f731 |
@@ -624,7 +621,8 @@ int Incremental(struct mddev_dev *devlist, struct context *c,
|
|
 |
b7f731 |
* those devices we should re-add them now.
|
|
 |
b7f731 |
*/
|
|
 |
b7f731 |
for (dsk = sra->devs; dsk ; dsk = dsk->next) {
|
|
 |
b7f731 |
- if (disk_action_allows(dsk, st->ss->name, act_re_add) &&
|
|
 |
b7f731 |
+ if (disk_action_allows(dsk, st->ss->name,
|
|
 |
b7f731 |
+ act_re_add) &&
|
|
 |
b7f731 |
add_disk(mdfd, st, sra, dsk) == 0)
|
|
 |
b7f731 |
pr_err("%s re-added to %s\n",
|
|
 |
b7f731 |
dsk->sys_name, chosen_name);
|
|
 |
b7f731 |
@@ -688,8 +686,7 @@ static void find_reject(int mdfd, struct supertype *st, struct mdinfo *sra,
|
|
 |
b7f731 |
st->ss->free_super(st);
|
|
 |
b7f731 |
close(dfd);
|
|
 |
b7f731 |
|
|
 |
b7f731 |
- if (info.disk.number != number ||
|
|
 |
b7f731 |
- info.events >= events)
|
|
 |
b7f731 |
+ if (info.disk.number != number || info.events >= events)
|
|
 |
b7f731 |
continue;
|
|
 |
b7f731 |
|
|
 |
b7f731 |
if (d->disk.raid_disk > -1)
|
|
 |
b7f731 |
@@ -970,11 +967,9 @@ static int array_try_spare(char *devname, int *dfdp, struct dev_policy *pol,
|
|
 |
b7f731 |
}
|
|
 |
b7f731 |
if ((sra->component_size > 0 &&
|
|
 |
b7f731 |
st2->ss->avail_size(st2, devsize,
|
|
 |
b7f731 |
- sra->devs
|
|
 |
b7f731 |
- ? sra->devs->data_offset
|
|
 |
b7f731 |
- : INVALID_SECTORS)
|
|
 |
b7f731 |
- < sra->component_size)
|
|
 |
b7f731 |
- ||
|
|
 |
b7f731 |
+ sra->devs ? sra->devs->data_offset :
|
|
 |
b7f731 |
+ INVALID_SECTORS) <
|
|
 |
b7f731 |
+ sra->component_size) ||
|
|
 |
b7f731 |
(sra->component_size == 0 && devsize < component_size)) {
|
|
 |
b7f731 |
if (verbose > 1)
|
|
 |
b7f731 |
pr_err("not adding %s to %s as it is too small\n",
|
|
 |
b7f731 |
@@ -1107,8 +1102,7 @@ static int partition_try_spare(char *devname, int *dfdp, struct dev_policy *pol,
|
|
 |
b7f731 |
char *devname = NULL;
|
|
 |
b7f731 |
unsigned long long devsectors;
|
|
 |
b7f731 |
|
|
 |
b7f731 |
- if (de->d_ino == 0 ||
|
|
 |
b7f731 |
- de->d_name[0] == '.' ||
|
|
 |
b7f731 |
+ if (de->d_ino == 0 || de->d_name[0] == '.' ||
|
|
 |
b7f731 |
(de->d_type != DT_LNK && de->d_type != DT_UNKNOWN))
|
|
 |
b7f731 |
goto next;
|
|
 |
b7f731 |
|
|
 |
b7f731 |
@@ -1146,8 +1140,7 @@ static int partition_try_spare(char *devname, int *dfdp, struct dev_policy *pol,
|
|
 |
b7f731 |
st2 = dup_super(st);
|
|
 |
b7f731 |
else
|
|
 |
b7f731 |
st2 = guess_super_type(fd, guess_partitions);
|
|
 |
b7f731 |
- if (st2 == NULL ||
|
|
 |
b7f731 |
- st2->ss->load_super(st2, fd, NULL) < 0)
|
|
 |
b7f731 |
+ if (st2 == NULL || st2->ss->load_super(st2, fd, NULL) < 0)
|
|
 |
b7f731 |
goto next;
|
|
 |
b7f731 |
st2->ignore_hw_compat = 0;
|
|
 |
b7f731 |
|
|
 |
b7f731 |
@@ -1175,8 +1168,7 @@ static int partition_try_spare(char *devname, int *dfdp, struct dev_policy *pol,
|
|
 |
b7f731 |
* metadata which makes better use of the device can
|
|
 |
b7f731 |
* be found.
|
|
 |
b7f731 |
*/
|
|
 |
b7f731 |
- if (chosen == NULL ||
|
|
 |
b7f731 |
- chosen_size < info.component_size) {
|
|
 |
b7f731 |
+ if (chosen == NULL || chosen_size < info.component_size) {
|
|
 |
b7f731 |
chosen_size = info.component_size;
|
|
 |
b7f731 |
free(chosen);
|
|
 |
b7f731 |
chosen = devname;
|
|
 |
b7f731 |
@@ -1399,8 +1391,8 @@ restart:
|
|
 |
b7f731 |
}
|
|
 |
b7f731 |
/* Ok, we can try this one. Maybe it needs a bitmap */
|
|
 |
b7f731 |
for (mddev = devs ; mddev ; mddev = mddev->next)
|
|
 |
b7f731 |
- if (mddev->devname && me->path
|
|
 |
b7f731 |
- && devname_matches(mddev->devname, me->path))
|
|
 |
b7f731 |
+ if (mddev->devname && me->path &&
|
|
 |
b7f731 |
+ devname_matches(mddev->devname, me->path))
|
|
 |
b7f731 |
break;
|
|
 |
b7f731 |
if (mddev && mddev->bitmap_file) {
|
|
 |
b7f731 |
/*
|
|
 |
b7f731 |
--
|
|
 |
b7f731 |
2.7.4
|
|
 |
b7f731 |
|