Linux: Rework statfs super block operations configure test
authorMarc Dionne <marc.c.dionne@gmail.com>
Wed, 11 Aug 2010 23:28:53 +0000 (19:28 -0400)
committerDerrick Brashear <shadow@dementia.org>
Thu, 12 Aug 2010 20:46:37 +0000 (13:46 -0700)
The configure test to detect if the statfs super block operation
needs a dentry argument is based on vfs_statfs, and assumes that
its signature matches the one of the operation.  In 2.6.36 this is
no longer true and the test fails.

Rework the test to actually test the operation we're interested in.

This change is required for 2.6.36.

Change-Id: I5a712fb47e48c1bcc7ea2cfbf6c53c2b27627723
Reviewed-on: http://gerrit.openafs.org/2545
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/cf/linux-test4.m4

index 16ea872..2a198aa 100644 (file)
@@ -269,7 +269,10 @@ AC_DEFUN([LINUX_STATFS_TAKES_DENTRY], [
                       [ac_cv_linux_statfs_takes_dentry],
 [#include <linux/fs.h>
 #include <linux/statfs.h>],
-                      [extern int vfs_statfs(struct dentry *, struct kstatfs *);],
+[struct super_block _sb;
+struct dentry _dentry;
+struct kstatfs _kstatfs;
+(void)_sb.s_op->statfs(&_dentry, &_kstatfs);],
                       [STATFS_TAKES_DENTRY],
                       [define if your statfs takes a dentry argument])
 ])