Whamcloud - gitweb
b=21951 2.6.32-fc13 patchless client support for HEAD
[fs/lustre-release.git] / libcfs / include / libcfs / linux / portals_compat25.h
index 4f47b82..7a87224 100644 (file)
 #endif
 
 #ifndef HAVE_CPU_ONLINE
-#define cpu_online(cpu) ((1<<cpu) & (cpu_online_map))
+#define cfs_cpu_online(cpu) ((1<<cpu) & (cpu_online_map))
+#else
+#define cfs_cpu_online(cpu) cpu_online(cpu)
 #endif
 #ifndef HAVE_CPUMASK_T
-typedef unsigned long cpumask_t;
-#define cpu_set(cpu, map) set_bit(cpu, &(map))
-#define cpus_clear(map) memset(&(map), 0, sizeof(cpumask_t))
+typedef unsigned long cfs_cpumask_t;
+#define cfs_cpu_set(cpu, map) set_bit(cpu, &(map))
+#define cpus_clear(map) memset(&(map), 0, sizeof(cfs_cpumask_t))
 #endif
 
 #ifndef __user
 #define __user
 #endif
 
+#ifndef __fls
+#define __cfs_fls fls
+#else
+#define __cfs_fls __fls
+#endif
+
+#ifdef HAVE_5ARGS_SYSCTL_PROC_HANDLER
+#define ll_proc_dointvec(table, write, filp, buffer, lenp, ppos)        \
+        proc_dointvec(table, write, buffer, lenp, ppos);
+
+#define ll_proc_dolongvec(table, write, filp, buffer, lenp, ppos)        \
+        proc_doulongvec_minmax(table, write, buffer, lenp, ppos);
+#define ll_proc_dostring(table, write, filp, buffer, lenp, ppos)        \
+        proc_dostring(table, write, buffer, lenp, ppos);
+#define LL_PROC_PROTO(name)                                             \
+        name(cfs_sysctl_table_t *table, int write,                      \
+             void __user *buffer, size_t *lenp, loff_t *ppos)
+#else
 #define ll_proc_dointvec(table, write, filp, buffer, lenp, ppos)        \
         proc_dointvec(table, write, filp, buffer, lenp, ppos);
 
@@ -150,6 +170,17 @@ typedef unsigned long cpumask_t;
 #define LL_PROC_PROTO(name)                                             \
         name(cfs_sysctl_table_t *table, int write, struct file *filp,   \
              void __user *buffer, size_t *lenp, loff_t *ppos)
+#endif
 #define DECLARE_LL_PROC_PPOS_DECL
 
+/* helper for sysctl handlers */
+int proc_call_handler(void *data, int write,
+                      loff_t *ppos, void *buffer, size_t *lenp,
+                      int (*handler)(void *data, int write,
+                                     loff_t pos, void *buffer, int len));
+
+#ifndef HAVE_SCATTERLIST_INITTABLE
+#define sg_init_table(sgl, n) memset(sgl, 0, sizeof(*sgl) * n)
+#endif
+
 #endif /* _PORTALS_COMPAT_H */