Linux: Fix write_begin configure test for recent RHEL kernels
authorMarc Dionne <marc.c.dionne@gmail.com>
Sat, 31 Oct 2009 17:27:18 +0000 (13:27 -0400)
committerDerrick Brashear <shadow|account-1000005@unknown>
Mon, 2 Nov 2009 12:43:42 +0000 (04:43 -0800)
Recent RHEL kernels now define simple_write_begin, which was used as
a test for the write_begin address_space op.  This makes the test
succeed when it shouldn't, and breaks the build.
Rewrite the test to actually check the address_space operation.

Change-Id: Idac9b318ff716b61bf8ca4508d2dbdbfbad5b50d
Reviewed-on: http://gerrit.openafs.org/759
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

src/cf/linux-test4.m4

index b9fd21f..bd30b75 100644 (file)
@@ -1182,7 +1182,8 @@ AC_DEFUN([LINUX_HAVE_WRITE_BEGIN_AOP], [
   AC_CACHE_VAL([ac_cv_linux_write_begin], [
     AC_TRY_KBUILD(
 [#include <linux/fs.h>],
-[simple_write_begin(NULL, NULL, 0, 0, 0, NULL, NULL);],
+[struct address_space_operations _aop;
+_aop.write_begin = NULL;],
       ac_cv_linux_write_begin=yes,
       ac_cv_linux_write_begin=no)])
   AC_MSG_RESULT($ac_cv_linux_write_begin)