File 0062-Fix-some-issues-found-by-clang.patch of Package mdadm.7129

From 681b7ae245db80b24d45abdc3f5040c796aa29cc Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb@suse.com>
Date: Fri, 7 Oct 2016 14:55:20 +1100
Subject: [PATCH 310/359] Fix some issues found by clang
References: bsc#1081910

The clang compiler complained about each of these.

The mdmon.h error will only affect 'far' RAID10 arrays using intel or DDF
metadata, and there is no such thing.

The mdopen.c will cause a problem if there are no free md device
numbers in the first 512.  That is fairly unlikely.

The restripe.c error would only affect the 'test_stripe' command, and
probably doesn't change its behaviour.

The super-intel.c fix is purely cosmetic.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Coly Li <colyli@suse.de>

---
 mdmon.h       | 2 +-
 mdopen.c      | 2 +-
 restripe.c    | 2 +-
 super-intel.c | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/mdmon.h b/mdmon.h
index aa750c6..0b08c3d 100644
--- a/mdmon.h
+++ b/mdmon.h
@@ -101,7 +101,7 @@ static inline int is_resync_complete(struct mdinfo *array)
 		break;
 	case 10:
 		l = array->array.layout;
-		ncopies = (l & 0xff) * ((l >> 8) && 0xff);
+		ncopies = (l & 0xff) * ((l >> 8) & 0xff);
 		sync_size = array->component_size * array->array.raid_disks;
 		sync_size /= ncopies;
 		break;
diff --git a/mdopen.c b/mdopen.c
index 5af344b..0ea3874 100644
--- a/mdopen.c
+++ b/mdopen.c
@@ -318,7 +318,7 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
 	else if (num < 0) {
 		/* need to choose a free number. */
 		char *_devnm = find_free_devnm(use_mdp);
-		if (devnm == NULL) {
+		if (_devnm == NULL) {
 			pr_err("No avail md devices - aborting\n");
 			return -1;
 		}
diff --git a/restripe.c b/restripe.c
index 359ae86..de85ee4 100644
--- a/restripe.c
+++ b/restripe.c
@@ -482,7 +482,7 @@ int raid6_check_disks(int data_disks, int start, int chunk_size,
 		}
 
 		if((Px == 0) && (Qx == 0))
-			curr_broken_disk = curr_broken_disk;
+			curr_broken_disk = prev_broken_disk;
 
 		if(curr_broken_disk >= data_disks + 2)
 			broken_status = 2;
diff --git a/super-intel.c b/super-intel.c
index 1304737..e1124ba 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -10154,7 +10154,7 @@ enum imsm_reshape_type imsm_analyze_change(struct supertype *st,
 				geo->size = max_size;
 		}
 
-		if ((direction == ROLLBACK_METADATA_CHANGES)) {
+		if (direction == ROLLBACK_METADATA_CHANGES) {
 			/* accept size for rollback only
 			*/
 		} else {
-- 
2.16.1

openSUSE Build Service is sponsored by