Whamcloud - gitweb
LU-6155 osd-zfs: dbuf_hold_impl() called without the lock
[fs/lustre-release.git] / libcfs / include / libcfs / libcfs.h
index 39511fe..d31f3b6 100644 (file)
 # include <sys/time.h>
 # include <sys/types.h>
 # include <libcfs/user-time.h>
-# include <libcfs/user-prim.h>
-# include <libcfs/user-mem.h>
-# include <libcfs/user-lock.h>
-# include <libcfs/user-bitops.h>
 #endif /* __KERNEL__ */
 
 #include "curproc.h"
 
-#ifndef offsetof
-# define offsetof(typ,memb) ((long)(long_ptr_t)((char *)&(((typ *)0)->memb)))
-#endif
-
 #ifndef ARRAY_SIZE
 #define ARRAY_SIZE(a) ((sizeof (a)) / (sizeof ((a)[0])))
 #endif
@@ -95,9 +87,9 @@ static inline int __is_po2(unsigned long long val)
         return !(val & (val - 1));
 }
 
-#define IS_PO2(val) __is_po2((unsigned long long)(val))
-
-#define LOWEST_BIT_SET(x)       ((x) & ~((x) - 1))
+#define IS_PO2(val)      __is_po2((unsigned long long)(val))
+#define PO2_ROUNDUP_TYPED(x, po2, type) (-(-(type)(x) & -(type)(po2)))
+#define LOWEST_BIT_SET(x) ((x) & ~((x) - 1))
 
 /* Sparse annotations */
 #ifdef __KERNEL__
@@ -133,10 +125,6 @@ static inline int __is_po2(unsigned long long val)
 
 #ifdef __KERNEL__
 
-#ifndef cfs_for_each_possible_cpu
-#  error cfs_for_each_possible_cpu is not supported by kernel!
-#endif
-
 /* libcfs watchdogs */
 struct lc_watchdog;
 
@@ -158,15 +146,7 @@ void lc_watchdog_disable(struct lc_watchdog *lcw);
 /* Clean up the watchdog */
 void lc_watchdog_delete(struct lc_watchdog *lcw);
 
-/* Dump a debug log */
-void lc_watchdog_dumplog(pid_t pid, void *data);
-
-#else /* !__KERNEL__ */
-#include <unistd.h>
-#ifndef PAGE_SIZE
-#define PAGE_SIZE sysconf(_SC_PAGESIZE)
-#endif
-#endif /* !__KERNEL__ */
+#endif /* __KERNEL__ */
 
 /* need both kernel and user-land acceptor */
 #define LNET_ACCEPTOR_MIN_RESERVED_PORT    512
@@ -212,32 +192,8 @@ sigset_t cfs_block_allsigs(void);
 sigset_t cfs_block_sigs(unsigned long sigs);
 sigset_t cfs_block_sigsinv(unsigned long sigs);
 void cfs_restore_sigs(sigset_t);
-int cfs_signal_pending(void);
 void cfs_clear_sigpending(void);
 
-int convert_server_error(__u64 ecode);
-int convert_client_oflag(int cflag, int *result);
-
-/*
- * Stack-tracing filling.
- */
-
-/*
- * Platform-dependent data-type to hold stack frames.
- */
-struct cfs_stack_trace;
-
-/*
- * Fill @trace with current back-trace.
- */
-void cfs_stack_trace_fill(struct cfs_stack_trace *trace);
-
-/*
- * Return instruction pointer for frame @frame_no. NULL if @frame_no is
- * invalid.
- */
-void *cfs_stack_trace_frame(struct cfs_stack_trace *trace, int frame_no);
-
 /*
  * Random number handling
  */
@@ -249,20 +205,21 @@ void cfs_srand(unsigned int, unsigned int);
 void cfs_get_random_bytes(void *buf, int size);
 
 #include <libcfs/byteorder.h>
-#include <libcfs/err.h>
 #include <libcfs/libcfs_debug.h>
 #include <libcfs/libcfs_private.h>
-#include <libcfs/bitmap.h>
-#include <libcfs/libcfs_cpu.h>
-#include <libcfs/libcfs_ioctl.h>
-#include <libcfs/libcfs_prim.h>
+#ifdef __KERNEL__
+# include <libcfs/bitmap.h>
+# include <libcfs/libcfs_cpu.h>
+# include <libcfs/libcfs_ioctl.h>
+# include <libcfs/libcfs_prim.h>
+#endif /* __KERNEL__ */
 #include <libcfs/libcfs_time.h>
-#include <libcfs/libcfs_string.h>
-#include <libcfs/libcfs_kernelcomm.h>
-#include <libcfs/libcfs_workitem.h>
-#include <libcfs/libcfs_hash.h>
-#include <libcfs/libcfs_heap.h>
-#include <libcfs/libcfs_fail.h>
+#ifdef __KERNEL__
+# include <libcfs/libcfs_string.h>
+# include <libcfs/libcfs_workitem.h>
+# include <libcfs/libcfs_hash.h>
+# include <libcfs/libcfs_heap.h>
+# include <libcfs/libcfs_fail.h>
 
 /* container_of depends on "likely" which is defined in libcfs_private.h */
 static inline void *__container_of(const void *ptr, unsigned long shift)
@@ -276,9 +233,6 @@ static inline void *__container_of(const void *ptr, unsigned long shift)
 #define container_of0(ptr, type, member)                               \
        ((type *)__container_of((ptr), offsetof(type, member)))
 
-#define _LIBCFS_H
-
-int libcfs_arch_init(void);
-void libcfs_arch_cleanup(void);
+#endif /* __KERNEL__ */
 
-#endif /* _LIBCFS_H */
+#endif /* _LIBCFS_LIBCFS_H_ */