Whamcloud - gitweb
LU-9934 build: support for gcc7 10/28810/10
authorAlex Zhuravlev <alexey.zhuravlev@intel.com>
Fri, 23 Feb 2018 17:50:12 +0000 (12:50 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 6 Mar 2018 19:13:55 +0000 (19:13 +0000)
Supress few false warnings with a compiler option when
building the lustre kernel modules. A few other fixes
to make lustre buildable on Fedora.

Change-Id: If14d226e5d92ae9ce54e216d032df94d9398654e
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: https://review.whamcloud.com/28810
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
config/lustre-build.m4
lnet/utils/lnetconfig/liblnetconfig.h
lustre/mgs/mgs_llog.c
lustre/utils/libmount_utils_ldiskfs.c

index ad772c9..189f735 100644 (file)
@@ -340,6 +340,28 @@ AC_SUBST(EXTRA_KCFLAGS)
 ]) # LB_PROG_CC
 
 #
+# Check if gcc supports -Wno-format-truncation
+#
+# To supress many warnings with gcc7
+#
+AC_DEFUN([LB_CC_NO_FORMAT_TRUNCATION], [
+       AC_MSG_CHECKING([for -Wno-format-truncation support])
+
+       saved_flags="$CFLAGS"
+       CFLAGS="$CFLAGS -Wno-format-truncation"
+
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [
+               EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Wno-format-truncation"
+               AC_SUBST(EXTRA_KCFLAGS)
+               AC_MSG_RESULT([yes])
+       ], [
+               AC_MSG_RESULT([no])
+       ])
+
+       CFLAGS="$saved_flags"
+])
+
+#
 # LB_CONDITIONALS
 #
 # AM_CONDITIONAL instances for everything
@@ -551,6 +573,7 @@ LB_INCLUDE_RULES
 LB_PATH_DEFAULTS
 
 LB_PROG_CC
+LB_CC_NO_FORMAT_TRUNCATION
 
 LC_OSD_ADDON
 
index 227a66e..32ddbd2 100644 (file)
@@ -27,6 +27,7 @@
 #ifndef LIB_LNET_CONFIG_API_H
 #define LIB_LNET_CONFIG_API_H
 
+#include <net/if.h>
 #include <libcfs/util/string.h>
 #include <linux/lnet/lnet-dlc.h>
 #include <linux/lnet/nidstr.h>
@@ -48,7 +49,7 @@ struct lnet_dlc_network_descr {
 
 struct lnet_dlc_intf_descr {
        struct list_head intf_on_network;
-       char intf_name[LNET_MAX_STR_LEN];
+       char intf_name[IFNAMSIZ];
        struct cfs_expr_list *cpt_expr;
 };
 
index 89c33a2..9fef86e 100644 (file)
@@ -3020,13 +3020,14 @@ out_end:
         /* Add ost to all MDT lov defs */
         for (i = 0; i < INDEX_MAP_SIZE * 8; i++){
                if (test_bit(i, fsdb->fsdb_mdt_index_map)) {
-                        char mdt_index[9];
+                       char mdt_index[13];
 
                        rc = name_create_mdt_and_lov(&logname, &lovname, fsdb,
                                                     i);
                        if (rc)
                                RETURN(rc);
-                        sprintf(mdt_index, "-MDT%04x", i);
+
+                       snprintf(mdt_index, sizeof(mdt_index), "-MDT%04x", i);
                        rc = mgs_write_log_osc_to_lov(env, mgs, fsdb, mti,
                                                      logname, mdt_index,
                                                      lovname, LUSTRE_SP_MDT,
index 82f0dd1..362ebea 100644 (file)
@@ -57,6 +57,7 @@
 #include <sys/stat.h>
 #include <sys/mount.h>
 #include <sys/utsname.h>
+#include <sys/sysmacros.h>
 
 #include <string.h>
 #include <getopt.h>
@@ -191,7 +192,7 @@ static int is_feature_enabled(const char *feature, const char *devpath)
 int ldiskfs_write_ldd(struct mkfs_opts *mop)
 {
        char mntpt[] = "/tmp/mntXXXXXX";
-       char filepnm[128];
+       char filepnm[192];
        char *dev;
        FILE *filep;
        int ret = 0;