Whamcloud - gitweb
b=21846 add a hs_key entry in lqs hash operations
[fs/lustre-release.git] / libcfs / include / libcfs / linux / libcfs.h
index f2b7744..acaac13 100644 (file)
 
 #ifndef __KERNEL__
 #error This include is only for kernel use.
-#endif 
-
-#ifdef HAVE_ASM_TYPES_H
-#include <asm/types.h>
 #endif
 
+
 #include <stdarg.h>
 #include <libcfs/linux/linux-time.h>
 #include <libcfs/linux/linux-mem.h>
 #include <libcfs/linux/linux-lock.h>
 #include <libcfs/linux/linux-fs.h>
 #include <libcfs/linux/linux-tcpip.h>
+#include <libcfs/linux/linux-bitops.h>
+#include <libcfs/linux/linux-types.h>
 #include <libcfs/linux/kp30.h>
 
+#ifdef HAVE_ASM_TYPES_H
+#include <asm/types.h>
+#endif
 #include <linux/types.h>
 #include <asm/timex.h>
 #include <linux/sched.h> /* THREAD_SIZE */
 
+#define CFS_THREAD_SIZE   THREAD_SIZE
 #define LUSTRE_TRACE_SIZE (THREAD_SIZE >> 5)
 
 #if !defined(__x86_64__)
 
 #define __CHECK_STACK(file, func, line)                                 \
 do {                                                                    \
-        unsigned long _stack = CDEBUG_STACK();                           \
+        unsigned long _stack = CDEBUG_STACK();                          \
                                                                         \
         if (_stack > 3*THREAD_SIZE/4 && _stack > libcfs_stack) {        \
                 libcfs_stack = _stack;                                  \
                 libcfs_debug_msg(NULL, DEBUG_SUBSYSTEM, D_WARNING,      \
                                  file, func, line,                      \
                                  "maximum lustre stack %lu\n", _stack); \
+                dump_stack();                                           \
               /*panic("LBUG");*/                                        \
         }                                                               \
 } while (0)
-#define CHECK_STACK()     __CHECK_STACK(__FILE__, __func__, __LINE__)
+#define CFS_CHECK_STACK()     __CHECK_STACK(__FILE__, __func__, __LINE__)
 #else /* __x86_64__ */
-#define CHECK_STACK() do { } while(0)
+#define CFS_CHECK_STACK() do { } while(0)
 #define CDEBUG_STACK() (0L)
 #endif /* __x86_64__ */
 
@@ -117,8 +121,46 @@ typedef kernel_cap_t cfs_kernel_cap_t;
 struct cfs_stack_trace {
 };
 
+/* long integer with size equal to pointer */
+typedef unsigned long ulong_ptr_t;
+typedef long long_ptr_t;
+
 #ifndef WITH_WATCHDOG
 #define WITH_WATCHDOG
 #endif
 
+#ifndef HAVE_STRUCT_CRED
+
+#define current_cred() (current)
+
+#define current_cred_xxx(xxx)                   \
+({                                              \
+        current->xxx;                     \
+})
+
+#ifndef HAVE_CRED_WRAPPERS
+
+#define current_uid()           (current_cred_xxx(uid))
+#define current_gid()           (current_cred_xxx(gid))
+#define current_euid()          (current_cred_xxx(euid))
+#define current_egid()          (current_cred_xxx(egid))
+#define current_suid()          (current_cred_xxx(suid))
+#define current_sgid()          (current_cred_xxx(sgid))
+#define current_fsuid()         (current_cred_xxx(fsuid))
+#define current_fsgid()         (current_cred_xxx(fsgid))
+#define current_cap()           (current_cred_xxx(cap_effective))
+
+#endif /* HAVE_LINUX_CRED_H */
+
+#define current_user()          (current_cred_xxx(user))
+#define current_user_ns()       (current_cred_xxx(user)->user_ns)
+#define current_security()      (current_cred_xxx(security))
+
+#define cred task_struct
+
+#define prepare_creds() (current)
+#define commit_creds(a)
+
+#endif /* HAVE_STRUCT_CRED */
+
 #endif /* _LINUX_LIBCFS_H */