summaryrefslogtreecommitdiffstats
path: root/config/kernel-shrink.m4
diff options
context:
space:
mode:
Diffstat (limited to 'config/kernel-shrink.m4')
-rw-r--r--config/kernel-shrink.m432
1 files changed, 20 insertions, 12 deletions
diff --git a/config/kernel-shrink.m4 b/config/kernel-shrink.m4
index ea748c974..479fb3a6e 100644
--- a/config/kernel-shrink.m4
+++ b/config/kernel-shrink.m4
@@ -8,15 +8,18 @@ AC_DEFUN([ZFS_AC_KERNEL_SHRINK], [
AC_MSG_CHECKING([whether super_block has s_shrink])
ZFS_LINUX_TRY_COMPILE([
#include <linux/fs.h>
- ],[
- int (*shrink)(struct shrinker *, struct shrink_control *sc)
- __attribute__ ((unused)) = NULL;
- struct super_block sb __attribute__ ((unused)) = {
+
+ int shrink(struct shrinker *s, struct shrink_control *sc)
+ { return 0; }
+
+ static const struct super_block
+ sb __attribute__ ((unused)) = {
.s_shrink.shrink = shrink,
.s_shrink.seeks = DEFAULT_SEEKS,
.s_shrink.batch = 0,
};
],[
+ ],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SHRINK, 1, [struct super_block has s_shrink])
@@ -29,13 +32,15 @@ AC_DEFUN([ZFS_AC_KERNEL_NR_CACHED_OBJECTS], [
AC_MSG_CHECKING([whether sops->nr_cached_objects() exists])
ZFS_LINUX_TRY_COMPILE([
#include <linux/fs.h>
- ],[
- int (*nr_cached_objects)(struct super_block *)
- __attribute__ ((unused)) = NULL;
- struct super_operations sops __attribute__ ((unused)) = {
+
+ int nr_cached_objects(struct super_block *sb) { return 0; }
+
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
.nr_cached_objects = nr_cached_objects,
};
],[
+ ],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_NR_CACHED_OBJECTS, 1,
[sops->nr_cached_objects() exists])
@@ -48,13 +53,16 @@ AC_DEFUN([ZFS_AC_KERNEL_FREE_CACHED_OBJECTS], [
AC_MSG_CHECKING([whether sops->free_cached_objects() exists])
ZFS_LINUX_TRY_COMPILE([
#include <linux/fs.h>
- ],[
- void (*free_cached_objects)(struct super_block *, int)
- __attribute__ ((unused)) = NULL;
- struct super_operations sops __attribute__ ((unused)) = {
+
+ void free_cached_objects(struct super_block *sb, int x)
+ { return; }
+
+ static const struct super_operations
+ sops __attribute__ ((unused)) = {
.free_cached_objects = free_cached_objects,
};
],[
+ ],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_FREE_CACHED_OBJECTS, 1,
[sops->free_cached_objects() exists])