From: Alexey Zhuravlev Date: Fri, 2 Aug 2019 09:16:22 +0000 (+0300) Subject: LU-12625 build: reliable detection of struct timespec64 X-Git-Tag: 2.12.90~24 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=fac41e11d3e28ce239cb98298ce9fc5cd0e88e90 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 --- 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,