Whamcloud - gitweb
LU-663 kernel: Some arch do not have NUMA features anymore
[fs/lustre-release.git] / libcfs / include / libcfs / linux / linux-prim.h
index 078b541..770c12c 100644 (file)
 #define CFS_NR_CPUS     1
 #endif
 
+#ifdef HAVE_SET_CPUS_ALLOWED
 #define cfs_set_cpus_allowed(t, mask)  set_cpus_allowed(t, mask)
+#else
+#define cfs_set_cpus_allowed(t, mask)  set_cpus_allowed_ptr(t, &(mask))
+#endif
+
 /*
  * cache
  */
@@ -143,13 +148,6 @@ LL_PROC_PROTO(name)                                     \
 /*
  * Symbol register
  */
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0))
-#define cfs_symbol_register(s, p)       inter_module_register(s, THIS_MODULE, p)
-#define cfs_symbol_unregister(s)        inter_module_unregister(s)
-#define cfs_symbol_get(s)               inter_module_get(s)
-#define cfs_symbol_put(s)               inter_module_put(s)
-#define cfs_module_get()                MOD_INC_USE_COUNT
-#else
 #define cfs_symbol_register(s, p)       do {} while(0)
 #define cfs_symbol_unregister(s)        do {} while(0)
 #define cfs_symbol_get(s)               symbol_get(s)
@@ -159,7 +157,6 @@ LL_PROC_PROTO(name)                                     \
 #define __cfs_module_get(m)             __module_get(m)
 #define cfs_module_put(m)               module_put(m)
 #define cfs_module_refcount(m)          module_refcount(m)
-#endif
 
 typedef struct module cfs_module_t;
 
@@ -192,18 +189,9 @@ typedef long                            cfs_task_state_t;
 /* Kernel thread */
 typedef int (*cfs_thread_t)(void *);
 
-static inline int cfs_kernel_thread(int (*fn)(void *),
-                                    void *arg, unsigned long flags)
-{
-        void *orig_info = current->journal_info;
-        int rc;
-
-        current->journal_info = NULL;
-        rc = kernel_thread(fn, arg, flags);
-        current->journal_info = orig_info;
-        return rc;
-}
-
+#define CFS_DAEMON_FLAGS (CLONE_VM | CLONE_FILES)
+extern int cfs_create_thread(int (*fn)(void *),
+                             void *arg, unsigned long flags);
 
 /*
  * Task struct