Whamcloud - gitweb
LU-5396: define __acquires, __releases and __must_hold for userspace
[fs/lustre-release.git] / libcfs / include / libcfs / libcfs.h
index 321712e..e8395f1 100644 (file)
 #define __attribute__(x)
 #endif
 
-#if !defined(__WINNT__) && !defined(__KERNEL__)
+#include <libcfs/types.h>
+
+#if !defined(__KERNEL__)
 #include <libcfs/posix/libcfs.h>
 #elif defined(__linux__)
 #include <libcfs/linux/libcfs.h>
-#elif defined(__APPLE__)
-#include <libcfs/darwin/libcfs.h>
-#elif defined(__WINNT__)
-#include <libcfs/winnt/libcfs.h>
 #else
 #error Unsupported operating system.
 #endif
@@ -83,6 +81,21 @@ static inline int __is_po2(unsigned long long val)
 
 #define LOWEST_BIT_SET(x)       ((x) & ~((x) - 1))
 
+/* Sparse annotations */
+#ifdef __KERNEL__
+# if !defined(__must_hold)
+#  ifdef __CHECKER__
+#   define __must_hold(x) __attribute__((context(x, 1, 1)))
+#  else        /* __CHECKER__ */
+#   define __must_hold(x)
+#  endif /* !__CHECKER__ */
+# endif /* !__must_hold */
+#else /* __KERNEL__ */
+# define __acquires(x)
+# define __releases(x)
+# define __must_hold(x)
+#endif /* !__KERNEL__ */
+
 /*
  * Lustre Error Checksum: calculates checksum
  * of Hex number by XORing each bit.
@@ -241,8 +254,9 @@ 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>
@@ -253,7 +267,6 @@ 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(const void *ptr, unsigned long shift)