From fac41e11d3e28ce239cb98298ce9fc5cd0e88e90 Mon Sep 17 00:00:00 2001 From: Alexey Zhuravlev Date: Fri, 2 Aug 2019 12:16:22 +0300 Subject: [PATCH] LU-12625 build: reliable detection of struct timespec64 existing configure check define struct inode on stack and this may cause the following error with gcc8: build/conftest.c: In function main build/conftest.c:226:1: error: the frame size of 1032 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] which result in false result of the ckeck and then osd-ldiskfs doesn't build. put struct inode * on the stack instead. Change-Id: If31cfd13836e36ef59d428d3c05bf7f51319f89b Signed-off-by: Alexey Zhuravlev Reviewed-on: https://review.whamcloud.com/35675 Reviewed-by: James Simmons Reviewed-by: Shaun Tancheff Tested-by: jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- lustre/autoconf/lustre-core.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 3dc3537..0af9f26 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -2846,10 +2846,10 @@ LB_CHECK_COMPILE([if inode timestamps are struct timespec64], inode_timespec64, [ #include ],[ - struct inode inode = {}; + struct inode *inode = NULL; struct timespec64 ts = {}; - inode.i_atime = timespec64_trunc(ts, 1); + inode->i_atime = timespec64_trunc(ts, 1); (void)inode; ],[ AC_DEFINE(HAVE_INODE_TIMESPEC64, 1, -- 1.8.3.1