From: Etienne Dechamps Date: Thu, 2 Aug 2012 13:33:31 +0000 (+0200) Subject: Handle any invalidate_inodes_check prototype. X-Git-Tag: zfs-0.8.0-rc1~152^2~371 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=476ff5a4daf804c28c87a0bb4a833e09eb01a050;p=zfs Handle any invalidate_inodes_check prototype. In the comments of commit 723aa3b0c2eed070f7eeadd2ce2d87f46da6d0f8, mmatuska reported that the test for invalidate_inodes_check() is broken if invalidate_inodes() takes two arguments. This patch fixes the issue by resorting to another approach for detecting invalidate_inodes_check(): is simply checks if invalidate_inodes is defined as a macro. If it is, then it concludes that invalidate_inodes_check() is available. This will continue to work even if the prototype of invalidate_inodes_check() changes over time. Signed-off-by: Brian Behlendorf Closes #148 --- diff --git a/config/spl-build.m4 b/config/spl-build.m4 index 7ec81e713..d7c89bc48 100644 --- a/config/spl-build.m4 +++ b/config/spl-build.m4 @@ -2072,9 +2072,10 @@ AC_DEFUN([SPL_AC_KERNEL_INVALIDATE_INODES], [ AC_MSG_CHECKING([whether invalidate_inodes_check() is available]) SPL_LINUX_TRY_COMPILE_SYMBOL([ #include - ], [ - invalidate_inodes_check(NULL, 0); - ], [invalidate_inodes_check], [], [ + #ifndef invalidate_inodes + #error invalidate_inodes is not a macro + #endif + ], [ ], [invalidate_inodes_check], [], [ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_INVALIDATE_INODES_CHECK, 1, [invalidate_inodes_check() is available]) diff --git a/configure b/configure index 1ca8e847f..bbaedb053 100755 --- a/configure +++ b/configure @@ -17147,13 +17147,14 @@ cat >>conftest.$ac_ext <<_ACEOF #include + #ifndef invalidate_inodes + #error invalidate_inodes is not a macro + #endif int main (void) { - invalidate_inodes_check(NULL, 0); - ; return 0; } @@ -23343,13 +23344,14 @@ cat >>conftest.$ac_ext <<_ACEOF #include + #ifndef invalidate_inodes + #error invalidate_inodes is not a macro + #endif int main (void) { - invalidate_inodes_check(NULL, 0); - ; return 0; }