summaryrefslogtreecommitdiffstats
path: root/include/linux/mm_compat.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mm_compat.h')
-rw-r--r--include/linux/mm_compat.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/mm_compat.h b/include/linux/mm_compat.h
index 57f83dcc9..5c5198b90 100644
--- a/include/linux/mm_compat.h
+++ b/include/linux/mm_compat.h
@@ -26,6 +26,7 @@
#define _SPL_MM_COMPAT_H
#include <linux/mm.h>
+#include <linux/fs.h>
/*
* Linux 2.6.31 API Change.
@@ -43,4 +44,16 @@
#define high_wmark_pages(z) (z->pages_high)
#endif
+/*
+ * 2.6.37 API compat,
+ * The function invalidate_inodes() is no longer exported by the kernel.
+ * The prototype however is still available which means it is safe
+ * to acquire the symbol's address using spl_kallsyms_lookup_name().
+ */
+#ifndef HAVE_INVALIDATE_INODES
+typedef int (*invalidate_inodes_t)(struct super_block *sb);
+extern invalidate_inodes_t invalidate_inodes_fn;
+#define invalidate_inodes(sb) invalidate_inodes_fn(sb)
+#endif /* HAVE_INVALIDATE_INODES */
+
#endif /* SPL_MM_COMPAT_H */