fix: global_dirty_limit was introduced in v3.1
[lttng-modules.git] / wrapper / writeback.h
index 646246621174011aea00ab8e6f353e101208b0c9..328c9323549ee8aee5ef8711dbab153513b1ad3d 100644 (file)
@@ -37,7 +37,21 @@ unsigned long wrapper_global_dirty_limit(void)
                return 0;
        }
 }
-#else
+
+/*
+ * Canary function to check for 'global_wb_domain' at compile time.
+ *
+ * From 'include/linux/writeback.h':
+ *
+ *   extern struct wb_domain global_wb_domain;
+ */
+static inline
+unsigned long __canary__global_wb_domain(void)
+{
+       return global_wb_domain.dirty_limit;
+}
+
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)
 
 static unsigned long *global_dirty_limit_sym;
 
@@ -54,17 +68,33 @@ unsigned long wrapper_global_dirty_limit(void)
                return 0;
        }
 }
+
+/*
+ * Canary function to check for 'global_dirty_limit' at compile time.
+ *
+ * From 'include/linux/writeback.h':
+ *
+ *   extern unsigned long global_dirty_limit;
+ */
+static inline
+unsigned long __canary__global_dirty_limit(void)
+{
+       return global_dirty_limit;
+}
+
 #endif
 
 #else /* CONFIG_KALLSYMS_ALL */
 
 #include <linux/writeback.h>
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)
 static inline
 unsigned long wrapper_global_dirty_limit(void)
 {
        return global_dirty_limit;
 }
+#endif
 
 #endif
 
This page took 0.024432 seconds and 4 git commands to generate.