mdadm: fix CFLAGS and ptest issues
* Pass global CFLAGS to build: The CFLAGS does not pass to build at all since it was redefined by mdadm Makefile: CFLAGS = $(CWFLAGS) $(CXFLAGS) ... This could be done by setting 'CXFLAGS="${CFLAGS}"'. * Also fix ptest build errors caused by global CFLAGS: raid6check.c:352:2: error: ignoring return value of posix_memalign, \ declared with attribute warn_unused_result [-Werror=unused-result] raid6check.c:315:8: error: 'stripe_buf' may be used uninitialized \ in this function [-Werror=maybe-uninitialized] (From OE-Core rev: 60f71fa4da86ca4c7c37115c343db194a3b7b47b) Signed-off-by: Wenzong Fan <wenzong.fan@windriver.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
d8adfd28f7
commit
82107b1209
|
@ -0,0 +1,50 @@
|
||||||
|
From f3acf8499a4cc400206c5c56f0a6c69192ed55de Mon Sep 17 00:00:00 2001
|
||||||
|
From: Wenzong Fan <wenzong.fan@windriver.com>
|
||||||
|
Date: Sat, 7 Nov 2015 04:21:17 -0500
|
||||||
|
Subject: [PATCH] mdadm: fix ptest build errors
|
||||||
|
|
||||||
|
Check return value for posix_memalign() to fix ptest build error:
|
||||||
|
|
||||||
|
raid6check.c:352:2: error: ignoring return value of posix_memalign, \
|
||||||
|
declared with attribute warn_unused_result [-Werror=unused-result]
|
||||||
|
|
||||||
|
Initialize *stripe_buf as NULL to fix ptest build error:
|
||||||
|
|
||||||
|
raid6check.c: In function 'check_stripes':
|
||||||
|
raid6check.c:315:8: error: 'stripe_buf' may be used uninitialized \
|
||||||
|
in this function [-Werror=maybe-uninitialized]
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
|
||||||
|
---
|
||||||
|
raid6check.c | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/raid6check.c b/raid6check.c
|
||||||
|
index cb8522e..9462bcf 100644
|
||||||
|
--- a/raid6check.c
|
||||||
|
+++ b/raid6check.c
|
||||||
|
@@ -312,7 +312,7 @@ int check_stripes(struct mdinfo *info, int *source, unsigned long long *offsets,
|
||||||
|
/* read the data and p and q blocks, and check we got them right */
|
||||||
|
int data_disks = raid_disks - 2;
|
||||||
|
int syndrome_disks = data_disks + is_ddf(layout) * 2;
|
||||||
|
- char *stripe_buf;
|
||||||
|
+ char *stripe_buf = NULL;
|
||||||
|
|
||||||
|
/* stripes[] is indexed by raid_disk and holds chunks from each device */
|
||||||
|
char **stripes = xmalloc(raid_disks * sizeof(char*));
|
||||||
|
@@ -349,7 +349,9 @@ int check_stripes(struct mdinfo *info, int *source, unsigned long long *offsets,
|
||||||
|
if (!tables_ready)
|
||||||
|
make_tables();
|
||||||
|
|
||||||
|
- posix_memalign((void**)&stripe_buf, 4096, raid_disks * chunk_size);
|
||||||
|
+ if (posix_memalign((void**)&stripe_buf, 4096, raid_disks * chunk_size) != 0)
|
||||||
|
+ goto exitCheck;
|
||||||
|
+
|
||||||
|
block_index_for_slot += 2;
|
||||||
|
blocks += 2;
|
||||||
|
blocks_page += 2;
|
||||||
|
--
|
||||||
|
1.9.1
|
||||||
|
|
|
@ -13,6 +13,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
|
||||||
file://gcc-4.9.patch \
|
file://gcc-4.9.patch \
|
||||||
file://mdadm-3.3.2_x32_abi_time_t.patch \
|
file://mdadm-3.3.2_x32_abi_time_t.patch \
|
||||||
file://0001-Fix-typo-in-comparision.patch \
|
file://0001-Fix-typo-in-comparision.patch \
|
||||||
|
file://mdadm-fix-ptest-build-errors.patch \
|
||||||
file://run-ptest \
|
file://run-ptest \
|
||||||
"
|
"
|
||||||
SRC_URI[md5sum] = "7ca8b114710f98f53f20c5787b674a09"
|
SRC_URI[md5sum] = "7ca8b114710f98f53f20c5787b674a09"
|
||||||
|
@ -22,7 +23,7 @@ CFLAGS += "-fno-strict-aliasing"
|
||||||
|
|
||||||
inherit autotools-brokensep
|
inherit autotools-brokensep
|
||||||
|
|
||||||
EXTRA_OEMAKE = "CHECK_RUN_DIR=0"
|
EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}"'
|
||||||
# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
|
# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
|
||||||
# prevents 64-bit userland from seeing this definition, instead defaulting
|
# prevents 64-bit userland from seeing this definition, instead defaulting
|
||||||
# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
|
# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
|
||||||
|
|
Loading…
Reference in New Issue