From: Alex Zhuravlev Date: Fri, 23 Feb 2018 17:50:12 +0000 (-0500) Subject: LU-9934 build: support for gcc7 X-Git-Tag: 2.10.59~31 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=4b67e5a8150309f4bbeb43a9095f12243be6dcfa LU-9934 build: support for gcc7 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 Reviewed-on: https://review.whamcloud.com/28810 Tested-by: Jenkins Reviewed-by: John L. Hammond Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- diff --git a/config/lustre-build.m4 b/config/lustre-build.m4 index ad772c9..189f735 100644 --- a/config/lustre-build.m4 +++ b/config/lustre-build.m4 @@ -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 diff --git a/lnet/utils/lnetconfig/liblnetconfig.h b/lnet/utils/lnetconfig/liblnetconfig.h index 227a66e..32ddbd2 100644 --- a/lnet/utils/lnetconfig/liblnetconfig.h +++ b/lnet/utils/lnetconfig/liblnetconfig.h @@ -27,6 +27,7 @@ #ifndef LIB_LNET_CONFIG_API_H #define LIB_LNET_CONFIG_API_H +#include #include #include #include @@ -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; }; diff --git a/lustre/mgs/mgs_llog.c b/lustre/mgs/mgs_llog.c index 89c33a2..9fef86e 100644 --- a/lustre/mgs/mgs_llog.c +++ b/lustre/mgs/mgs_llog.c @@ -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, diff --git a/lustre/utils/libmount_utils_ldiskfs.c b/lustre/utils/libmount_utils_ldiskfs.c index 82f0dd1..362ebea 100644 --- a/lustre/utils/libmount_utils_ldiskfs.c +++ b/lustre/utils/libmount_utils_ldiskfs.c @@ -57,6 +57,7 @@ #include #include #include +#include #include #include @@ -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;