Whamcloud - gitweb
LU-4993 libcfs: convert nodemask_t to linux bitmask
[fs/lustre-release.git] / libcfs / include / libcfs / libcfs.h
index 72c2cc6..98682d8 100644 (file)
@@ -90,32 +90,6 @@ static inline int __is_po2(unsigned long long val)
 #define LERRCHKSUM(hexnum) (((hexnum) & 0xf) ^ ((hexnum) >> 4 & 0xf) ^ \
                            ((hexnum) >> 8 & 0xf))
 
-
-/*
- * - * atomic
- */
-
-typedef atomic_t cfs_atomic_t;
-
-#define cfs_atomic_read(atom)                atomic_read(atom)
-#define cfs_atomic_inc(atom)                 atomic_inc(atom)
-#define cfs_atomic_inc_and_test(atom)        atomic_inc_and_test(atom)
-#define cfs_atomic_inc_return(atom)          atomic_inc_return(atom)
-#define cfs_atomic_inc_not_zero(atom)        atomic_inc_not_zero(atom)
-#define cfs_atomic_add_unless(atom, a, u)    atomic_add_unless(atom, a, u)
-#define cfs_atomic_dec(atom)                 atomic_dec(atom)
-#define cfs_atomic_dec_and_test(atom)        atomic_dec_and_test(atom)
-#define cfs_atomic_dec_and_lock(atom, lock)  atomic_dec_and_lock(atom, lock)
-#define cfs_atomic_dec_return(atom)          atomic_dec_return(atom)
-#define cfs_atomic_set(atom, value)          atomic_set(atom, value)
-#define cfs_atomic_add(value, atom)          atomic_add(value, atom)
-#define cfs_atomic_add_return(value, atom)   atomic_add_return(value, atom)
-#define cfs_atomic_sub(value, atom)          atomic_sub(value, atom)
-#define cfs_atomic_sub_and_test(value, atom) atomic_sub_and_test(value, atom)
-#define cfs_atomic_sub_return(value, atom)   atomic_sub_return(value, atom)
-#define cfs_atomic_cmpxchg(atom, old, nv)    atomic_cmpxchg(atom, old, nv)
-#define CFS_ATOMIC_INIT(i)                   ATOMIC_INIT(i)
-
 /*
  * Some (nomina odiosa sunt) platforms define NULL as naked 0. This confuses
  * Lustre RETURN(NULL) macro.
@@ -177,7 +151,12 @@ void lc_watchdog_delete(struct lc_watchdog *lcw);
 /* Dump a debug log */
 void lc_watchdog_dumplog(pid_t pid, void *data);
 
-#endif /* __KERNEL__ */
+#else /* !__KERNEL__ */
+#include <unistd.h>
+#ifndef PAGE_SIZE
+#define PAGE_SIZE sysconf(_SC_PAGESIZE)
+#endif
+#endif /* !__KERNEL__ */
 
 /* need both kernel and user-land acceptor */
 #define LNET_ACCEPTOR_MIN_RESERVED_PORT    512
@@ -250,35 +229,6 @@ void cfs_stack_trace_fill(struct cfs_stack_trace *trace);
  */
 void *cfs_stack_trace_frame(struct cfs_stack_trace *trace, int frame_no);
 
-#ifndef O_NOACCESS
-#define O_NOACCESS O_NONBLOCK
-#endif
-
-/*
- * Universal open flags.
- */
-#define CFS_O_NOACCESS          0003
-#define CFS_O_ACCMODE           CFS_O_NOACCESS
-#define CFS_O_CREAT             0100
-#define CFS_O_EXCL              0200
-#define CFS_O_NOCTTY            0400
-#define CFS_O_TRUNC             01000
-#define CFS_O_APPEND            02000
-#define CFS_O_NONBLOCK          04000
-#define CFS_O_NDELAY            CFS_O_NONBLOCK
-#define CFS_O_SYNC              010000
-#define CFS_O_ASYNC             020000
-#define CFS_O_DIRECT            040000
-#define CFS_O_LARGEFILE         0100000
-#define CFS_O_DIRECTORY         0200000
-#define CFS_O_NOFOLLOW          0400000
-#define CFS_O_NOATIME           01000000
-
-/* convert local open flags to universal open flags */
-int cfs_oflags2univ(int flags);
-/* convert universal open flags to local open flags */
-int cfs_univ2oflags(int flags);
-
 /*
  * Random number handling
  */
@@ -289,9 +239,11 @@ unsigned int cfs_rand(void);
 void cfs_srand(unsigned int, unsigned int);
 void cfs_get_random_bytes(void *buf, int size);
 
+#include <libcfs/err.h>
 #include <libcfs/libcfs_debug.h>
-#include <libcfs/libcfs_cpu.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>
 #include <libcfs/libcfs_time.h>
@@ -302,19 +254,18 @@ void cfs_get_random_bytes(void *buf, int size);
 #include <libcfs/libcfs_heap.h>
 #include <libcfs/libcfs_fail.h>
 #include <libcfs/params_tree.h>
-#include <libcfs/libcfs_crypto.h>
 
 /* container_of depends on "likely" which is defined in libcfs_private.h */
-static inline void *__container_of(void *ptr, unsigned long shift)
+static inline void *__container_of(const void *ptr, unsigned long shift)
 {
-        if (unlikely(IS_ERR(ptr) || ptr == NULL))
-                return ptr;
-        else
-                return (char *)ptr - shift;
+       if (unlikely(IS_ERR(ptr) || ptr == NULL))
+               return ERR_CAST(ptr);
+       else
+               return (char *)ptr - shift;
 }
 
-#define container_of0(ptr, type, member) \
-        ((type *)__container_of((void *)(ptr), offsetof(type, member)))
+#define container_of0(ptr, type, member)                               \
+       ((type *)__container_of((ptr), offsetof(type, member)))
 
 #define _LIBCFS_H