mdadm: upgrade to version 4.0
3.4 -> 4.0 Removed the following upstreamed or backported patches: a) 0001-Fix-some-type-comparison-problems.patch b) 0001-Fix-typo-in-comparision.patch c) 0001-mdadm.h-bswap-is-already-defined-in-uclibc.patch d) 0001-raid6check-Fix-if-else-indentation.patch e) 0001-util.c-include-poll.h-instead-of-sys-poll.h.patch f) mdadm-3.2.2_fix_for_x32.patch (From OE-Core rev: b32f5098fc06c96d9331abe0f4ff9cc7c7c08c76) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
2068a1e37a
commit
17a92e1fb0
|
@ -1,50 +0,0 @@
|
|||
From 835baf02fd42012bbc0603dffb1f80c6ecf0fb9e Mon Sep 17 00:00:00 2001
|
||||
From: Xiao Ni <xni@redhat.com>
|
||||
Date: Mon, 8 Feb 2016 11:18:52 +0200
|
||||
Subject: [PATCH] Fix some type comparison problems
|
||||
|
||||
As 26714713cd2bad9e0bf7f4669f6cc4659ceaab6c said, 32 bit signed
|
||||
timestamps will overflow in the year 2038. It already changed the
|
||||
utime and ctime in struct mdu_array_info_s from int to unsigned
|
||||
int. So we need to change the values that compared with them to
|
||||
unsigned int too.
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Signed-off-by: : Xiao Ni <xni@redhat.com>
|
||||
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
||||
---
|
||||
|
||||
Monitor.c | 2 +-
|
||||
util.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Monitor.c b/Monitor.c
|
||||
index f19c2e5..6df80f9 100644
|
||||
--- a/Monitor.c
|
||||
+++ b/Monitor.c
|
||||
@@ -33,7 +33,7 @@
|
||||
struct state {
|
||||
char *devname;
|
||||
char devnm[32]; /* to sync with mdstat info */
|
||||
- long utime;
|
||||
+ unsigned int utime;
|
||||
int err;
|
||||
char *spare_group;
|
||||
int active, working, failed, spare, raid;
|
||||
diff --git a/util.c b/util.c
|
||||
index 3e6d293..96a806d 100644
|
||||
--- a/util.c
|
||||
+++ b/util.c
|
||||
@@ -1267,7 +1267,7 @@ struct supertype *guess_super_type(int fd, enum guess_types guess_type)
|
||||
*/
|
||||
struct superswitch *ss;
|
||||
struct supertype *st;
|
||||
- time_t besttime = 0;
|
||||
+ unsigned int besttime = 0;
|
||||
int bestsuper = -1;
|
||||
int i;
|
||||
|
||||
--
|
||||
2.4.0
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
From 18d360d74271a066a849bc1fba4f10dbb23ed251 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 8 Sep 2015 08:17:42 +0000
|
||||
Subject: [PATCH] Fix typo in comparision
|
||||
|
||||
error: comparison of array 'devnm' equal to a null pointer is always false
|
||||
|
||||
User bitwise '&' operator as it is a mask
|
||||
|
||||
Fixes
|
||||
error: use of logical '&&' with constant operand
|
||||
|
||||
Remove extraneous parens
|
||||
|
||||
error: equality comparison with extraneous parentheses
|
||||
|
||||
Remove dead code
|
||||
|
||||
restripe.c:465:21: error: explicitly assigning value of variable of type 'int' to itself
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
mdmon.h | 2 +-
|
||||
mdopen.c | 2 +-
|
||||
restripe.c | 3 ---
|
||||
super-intel.c | 2 +-
|
||||
4 files changed, 3 insertions(+), 6 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 28410f4..c5ee2a6 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 4d92190..cfe9666 100644
|
||||
--- a/restripe.c
|
||||
+++ b/restripe.c
|
||||
@@ -461,9 +461,6 @@ int raid6_check_disks(int data_disks, int start, int chunk_size,
|
||||
curr_broken_disk = diskD;
|
||||
}
|
||||
|
||||
- if((Px == 0) && (Qx == 0))
|
||||
- curr_broken_disk = curr_broken_disk;
|
||||
-
|
||||
if(curr_broken_disk >= data_disks + 2)
|
||||
broken_status = 2;
|
||||
|
||||
diff --git a/super-intel.c b/super-intel.c
|
||||
index 3f812d6..1838012 100644
|
||||
--- a/super-intel.c
|
||||
+++ b/super-intel.c
|
||||
@@ -10027,7 +10027,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.5.1
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
From cf14a9987ea1040457ce53bc2ab7d096818cb780 Mon Sep 17 00:00:00 2001
|
||||
From: "Maxin B. John" <maxin.john@intel.com>
|
||||
Date: Fri, 5 Feb 2016 18:06:32 +0200
|
||||
Subject: [PATCH] mdadm.h: bswap is already defined in uclibc
|
||||
|
||||
Fixes this build error:
|
||||
|
||||
| In file included from mdadm.c:28:0:
|
||||
| mdadm.h:142:0: error: "bswap_16" redefined [-Werror]
|
||||
| #define bswap_16(x) (((x) & 0x00ffU) << 8 | \
|
||||
| ^
|
||||
|
||||
Upstream-Status: Submitted
|
||||
|
||||
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
||||
---
|
||||
mdadm.h | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/mdadm.h b/mdadm.h
|
||||
index dd02be7..230e60f 100755
|
||||
--- a/mdadm.h
|
||||
+++ b/mdadm.h
|
||||
@@ -139,12 +139,20 @@ struct dlm_lksb {
|
||||
* and there is no standard conversion function so... */
|
||||
/* And dietlibc doesn't think byteswap is ok, so.. */
|
||||
/* #include <byteswap.h> */
|
||||
+
|
||||
+#ifndef bswap_16
|
||||
#define bswap_16(x) (((x) & 0x00ffU) << 8 | \
|
||||
((x) & 0xff00U) >> 8)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef bswap_32
|
||||
#define bswap_32(x) (((x) & 0x000000ffU) << 24 | \
|
||||
((x) & 0xff000000U) >> 24 | \
|
||||
((x) & 0x0000ff00U) << 8 | \
|
||||
((x) & 0x00ff0000U) >> 8)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef bswap_64
|
||||
#define bswap_64(x) (((x) & 0x00000000000000ffULL) << 56 | \
|
||||
((x) & 0xff00000000000000ULL) >> 56 | \
|
||||
((x) & 0x000000000000ff00ULL) << 40 | \
|
||||
@@ -153,6 +161,7 @@ struct dlm_lksb {
|
||||
((x) & 0x0000ff0000000000ULL) >> 24 | \
|
||||
((x) & 0x00000000ff000000ULL) << 8 | \
|
||||
((x) & 0x000000ff00000000ULL) >> 8)
|
||||
+#endif
|
||||
|
||||
#if !defined(__KLIBC__)
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
--
|
||||
2.4.0
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
From 1b0aa1debf6fbe9923c9aac671d2894f76c32f9d Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 20 Apr 2016 16:38:13 +0000
|
||||
Subject: [PATCH] raid6check: Fix if-else indentation
|
||||
|
||||
gcc 6 warns about ambiguity due to this indentation
|
||||
| raid6check.c: In function 'manual_repair':
|
||||
| raid6check.c:267:4: error: this 'else' clause does not guard... [-Werror=misleading-indentation]
|
||||
| else
|
||||
| ^~~~
|
||||
| raid6check.c:269:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'else'
|
||||
| printf("Repairing D(%d) and P\n", failed_data);
|
||||
| ^~~~~~
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Submitted
|
||||
|
||||
raid6check.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/raid6check.c b/raid6check.c
|
||||
index ad7ffe7..409b1b6 100644
|
||||
--- a/raid6check.c
|
||||
+++ b/raid6check.c
|
||||
@@ -266,7 +266,7 @@ int manual_repair(int chunk_size, int syndrome_disks,
|
||||
failed_data = failed_slot2;
|
||||
else
|
||||
failed_data = failed_slot1;
|
||||
- printf("Repairing D(%d) and P\n", failed_data);
|
||||
+ printf("Repairing D(%d) and P\n", failed_data);
|
||||
raid6_datap_recov(syndrome_disks+2, chunk_size,
|
||||
failed_data, (uint8_t**)blocks, 1);
|
||||
} else {
|
||||
--
|
||||
1.9.1
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
From 2645673a7ea948a1297d5b8f0daab29b898f044f Mon Sep 17 00:00:00 2001
|
||||
From: "Maxin B. John" <maxin.john@intel.com>
|
||||
Date: Fri, 5 Feb 2016 17:14:04 +0200
|
||||
Subject: [PATCH] util.c: include poll.h instead of sys/poll.h
|
||||
|
||||
This fixes a compile warning when building with musl:
|
||||
|
||||
In file included from util.c:27:0:
|
||||
|
|
||||
qemux86-64/usr/include/sys/poll.h:1:2:
|
||||
error: #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
|
||||
[-Werror=cpp]
|
||||
| #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
|
||||
| ^
|
||||
|
||||
Upstream-Status: Accepted
|
||||
|
||||
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
||||
---
|
||||
util.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/util.c b/util.c
|
||||
index 970d484..3e6d293 100644
|
||||
--- a/util.c
|
||||
+++ b/util.c
|
||||
@@ -24,7 +24,6 @@
|
||||
|
||||
#include "mdadm.h"
|
||||
#include "md_p.h"
|
||||
-#include <sys/poll.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/utsname.h>
|
||||
#include <sys/wait.h>
|
||||
@@ -32,6 +31,7 @@
|
||||
#include <sys/resource.h>
|
||||
#include <sys/vfs.h>
|
||||
#include <linux/magic.h>
|
||||
+#include <poll.h>
|
||||
#include <ctype.h>
|
||||
#include <dirent.h>
|
||||
#include <signal.h>
|
||||
--
|
||||
2.4.0
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
Upstream-Status: Accepted
|
||||
|
||||
By hardcoding CC's definition in the Makefile, all the gcc parameters
|
||||
set by tune settings are lost. Causing compile failure with x32 toolchain
|
||||
|
||||
As the bitbake defined CC is good, there is no need to redfine CC in the
|
||||
make file, hence making the CC definition in the Makefile conditional.
|
||||
|
||||
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/07
|
||||
|
||||
Index: mdadm-3.3/Makefile
|
||||
===================================================================
|
||||
--- mdadm-3.3.orig/Makefile 2013-09-03 07:47:47.000000000 +0300
|
||||
+++ mdadm-3.3/Makefile 2013-10-16 16:44:23.542295487 +0300
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
KLIBC_GCC = gcc -nostdinc -iwithprefix include -I$(KLIBC)/klibc/include -I$(KLIBC)/linux/include -I$(KLIBC)/klibc/arch/i386/include -I$(KLIBC)/klibc/include/bits32
|
||||
|
||||
-CC = $(CROSS_COMPILE)gcc
|
||||
+CC ?= $(CROSS_COMPILE)gcc
|
||||
CXFLAGS ?= -ggdb
|
||||
CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter
|
||||
ifdef WARN_UNUSED
|
|
@ -9,22 +9,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
|||
|
||||
|
||||
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
|
||||
file://mdadm-3.2.2_fix_for_x32.patch \
|
||||
file://gcc-4.9.patch \
|
||||
file://mdadm-3.3.2_x32_abi_time_t.patch \
|
||||
file://0001-Fix-typo-in-comparision.patch \
|
||||
file://mdadm-fix-ptest-build-errors.patch \
|
||||
file://0001-util.c-include-poll.h-instead-of-sys-poll.h.patch \
|
||||
file://0001-mdadm.h-bswap-is-already-defined-in-uclibc.patch \
|
||||
file://0001-Fix-some-type-comparison-problems.patch \
|
||||
file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
|
||||
file://run-ptest \
|
||||
file://0001-raid6check-Fix-if-else-indentation.patch \
|
||||
file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \
|
||||
file://0001-include-sys-sysmacros.h-for-major-minor-defintions.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "04b8b21f637540350f8517c7e68d3c63"
|
||||
SRC_URI[sha256sum] = "27d0be4627d38a12ddcd1c1c3721d649d4e89e1093914497e22b57245cda8808"
|
||||
SRC_URI[md5sum] = "2cb4feffea9167ba71b5f346a0c0a40d"
|
||||
SRC_URI[sha256sum] = "1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9"
|
||||
|
||||
CFLAGS += "-fno-strict-aliasing"
|
||||
inherit autotools-brokensep
|
Loading…
Reference in New Issue