blob: 739652cd5592a6fc16bdb6deebb5f96e52dc8be9 [file] [log] [blame]
From b83218de2623c0bbe9af355a81ae8385d7f30cfc Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 May 2018 12:56:41 -0700
Subject: [PATCH] Disable gcc8 warnings
This is needed until
https://bugzilla.redhat.com/show_bug.cgi?id=1553958
Fix super0.c issue which is triggered only in DEBUG_BUILD with -O1 (or any
configuration without -ftree-vrp or with -fno-tree-vrp)
super0.c: In function 'examine_super0':
super0.c:238:32: error: 'snprintf' output may be truncated before the last format character [-Werror=format-truncation=]
snprintf(nb, sizeof(nb), "%4d", d);
^
Upstream-Status: Inappropriate [Workaround]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Monitor.c | 4 +++-
mdopen.c | 4 ++++
super-ddf.c | 4 ++++
super-intel.c | 6 ++++++
super1.c | 5 +++++
super0.c | 2 +-
6 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/super0.c b/super0.c
index f5b4507..264b598 100644
--- a/super0.c
+++ b/super0.c
@@ -231,7 +231,7 @@
d++) {
mdp_disk_t *dp;
char *dv;
- char nb[11];
+ char nb[12];
int wonly, failfast;
if (d>=0) dp = &sb->disks[d];
else dp = &sb->this_disk;
diff --git a/Monitor.c b/Monitor.c
index 802a9d9..23b246b 100644
--- a/Monitor.c
+++ b/Monitor.c
@@ -441,7 +441,8 @@ static void alert(char *event, char *dev, char *disc, struct alert_info *info)
event, dev);
}
}
-
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-truncation"
static int check_array(struct state *st, struct mdstat_ent *mdstat,
int test, struct alert_info *ainfo,
int increments, char *prefer)
@@ -683,6 +684,7 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat,
return 1;
return 0;
}
+#pragma GCC diagnostic pop
static int add_new_arrays(struct mdstat_ent *mdstat, struct state **statelist,
int test, struct alert_info *info)
diff --git a/mdopen.c b/mdopen.c
index 685ca32..406aba4 100644
--- a/mdopen.c
+++ b/mdopen.c
@@ -26,6 +26,9 @@
#include "md_p.h"
#include <ctype.h>
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-truncation"
+
void make_parts(char *dev, int cnt)
{
/* make 'cnt' partition devices for 'dev'
@@ -99,6 +102,7 @@ void make_parts(char *dev, int cnt)
}
free(name);
}
+#pragma GCC diagnostic pop
/*
* We need a new md device to assemble/build/create an array.
diff --git a/super-ddf.c b/super-ddf.c
index 1707ad1..e08d289 100644
--- a/super-ddf.c
+++ b/super-ddf.c
@@ -2846,6 +2846,9 @@ static void _set_config_size(struct phys_disk_entry *pde, const struct dl *dl)
(unsigned long long)cfs, (unsigned long long)(dl->size-cfs));
}
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-overflow"
+
/* Add a device to a container, either while creating it or while
* expanding a pre-existing container
*/
@@ -2981,6 +2984,7 @@ static int add_to_super_ddf(struct supertype *st,
return 0;
}
+#pragma GCC diagnostic pop
static int remove_from_super_ddf(struct supertype *st, mdu_disk_info_t *dk)
{
diff --git a/super-intel.c b/super-intel.c
index 00a2925..44fbead 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -298,6 +298,11 @@ struct md_list {
};
#define pr_vrb(fmt, arg...) (void) (verbose && pr_err(fmt, ##arg))
+#pragma GCC diagnostic push
+# if __GNUC__ == 8
+# pragma GCC diagnostic ignored "-Wstringop-truncation"
+# endif
+#pragma GCC diagnostic ignored "-Wformat-truncation"
static __u8 migr_type(struct imsm_dev *dev)
{
@@ -11618,3 +11623,4 @@ struct superswitch super_imsm = {
.get_bad_blocks = imsm_get_badblocks,
#endif /* MDASSEMBLE */
};
+#pragma GCC diagnostic pop
diff --git a/super1.c b/super1.c
index 87a74cb..71c515f 100644
--- a/super1.c
+++ b/super1.c
@@ -1091,6 +1091,10 @@ static struct mdinfo *container_content1(struct supertype *st, char *subarray)
return info;
}
+#pragma GCC diagnostic push
+# if __GNUC__ == 8
+# pragma GCC diagnostic ignored "-Wstringop-truncation"
+#endif
static int update_super1(struct supertype *st, struct mdinfo *info,
char *update,
char *devname, int verbose,
@@ -1473,6 +1477,7 @@ static int init_super1(struct supertype *st, mdu_array_info_t *info,
return 1;
}
+#pragma GCC diagnostic pop
struct devinfo {
int fd;