From 56782fa6e0cdd208d07480ad4b284ada1f09c60c Mon Sep 17 00:00:00 2001 From: James Simmons Date: Thu, 7 Jan 2016 16:16:20 -0500 Subject: [PATCH] LU-6245 libcfs: remove userland headers from libcfs.h Currently libcfs.h is used as a master header that contains all the needed headers. Since Lustre user land utilities and applications no longer have a strong dependency on libcfs.h we can remove all the added user land headers contained in libcfs.h. Signed-off-by: James Simmons Change-Id: I6403d109875a1d42d8490a3a1c7635f2dac9fc90 Reviewed-on: http://review.whamcloud.com/16914 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Dmitry Eremin Reviewed-by: John L. Hammond Reviewed-by: Oleg Drokin --- libcfs/include/libcfs/curproc.h | 10 +--- libcfs/include/libcfs/libcfs.h | 86 +++++----------------------------- libcfs/include/libcfs/libcfs_cpu.h | 11 ----- libcfs/include/libcfs/libcfs_debug.h | 7 +++ libcfs/include/libcfs/libcfs_fail.h | 5 -- libcfs/include/libcfs/libcfs_private.h | 13 ----- libcfs/include/libcfs/user-time.h | 9 +++- lnet/lnet/lib-eq.c | 2 +- lustre/tests/group_lock_test.c | 1 + lustre/tests/it_test.c | 1 + lustre/tests/llapi_fid_test.c | 1 + lustre/tests/statone.c | 3 ++ lustre/utils/lctl.c | 2 + lustre/utils/lhsmtool_posix.c | 5 ++ lustre/utils/liblustreapi.c | 4 +- lustre/utils/liblustreapi_hsm.c | 1 + lustre/utils/llog_reader.c | 2 + lustre/utils/lr_reader.c | 1 + lustre/utils/lustre_cfg.c | 3 ++ lustre/utils/lustre_lfsck.c | 1 + lustre/utils/lustre_rsync.c | 1 + lustre/utils/mount_utils.h | 8 ++++ lustre/utils/req-layout.c | 3 ++ lustre/utils/wiretest.c | 3 ++ 24 files changed, 68 insertions(+), 115 deletions(-) diff --git a/libcfs/include/libcfs/curproc.h b/libcfs/include/libcfs/curproc.h index a2956bf..6568ccb 100644 --- a/libcfs/include/libcfs/curproc.h +++ b/libcfs/include/libcfs/curproc.h @@ -43,7 +43,7 @@ #ifndef __LIBCFS_CURPROC_H__ #define __LIBCFS_CURPROC_H__ -#if !defined(HAVE_UIDGID_HEADER) || !defined(__KERNEL__) +#ifndef HAVE_UIDGID_HEADER #ifndef _LINUX_UIDGID_H #define _LINUX_UIDGID_H @@ -57,14 +57,6 @@ typedef gid_t kgid_t; #define GLOBAL_ROOT_UID 0 #define GLOBAL_ROOT_GID 0 -#ifndef __KERNEL__ -struct user_namespace { - unsigned int pad; -}; - -extern struct user_namespace init_user_ns; -#endif - static inline uid_t __kuid_val(kuid_t uid) { return uid; diff --git a/libcfs/include/libcfs/libcfs.h b/libcfs/include/libcfs/libcfs.h index 97be523..8a04dd3 100644 --- a/libcfs/include/libcfs/libcfs.h +++ b/libcfs/include/libcfs/libcfs.h @@ -40,50 +40,14 @@ #include #include -#ifdef __KERNEL__ -# include -#else /* !__KERNEL__ */ -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include +#ifndef __KERNEL__ # include -#endif /* __KERNEL__ */ - -#include "curproc.h" +# else /* __KERNEL__ */ +# include +# include "curproc.h" #define LIBCFS_VERSION "0.5.0" -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(a) ((sizeof (a)) / (sizeof ((a)[0]))) -#endif - -#if !defined(swap) -#define swap(x,y) do { typeof(x) z = x; x = y; y = z; } while (0) -#endif - -#if !defined(container_of) -/* given a pointer @ptr to the field @member embedded into type (usually - * struct) @type, return pointer to the embedding instance of @type. */ -#define container_of(ptr, type, member) \ - ((type *)((char *)(ptr)-(char *)(&((type *)0)->member))) -#endif - static inline int __is_po2(unsigned long long val) { return !(val & (val - 1)); @@ -94,38 +58,13 @@ 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. - */ -#define LERRCHKSUM(hexnum) (((hexnum) & 0xf) ^ ((hexnum) >> 4 & 0xf) ^ \ - ((hexnum) >> 8 & 0xf)) - -/* - * Some (nomina odiosa sunt) platforms define NULL as naked 0. This confuses - * Lustre RETURN(NULL) macro. - */ -#if defined(NULL) -#undef NULL -#endif - -#define NULL ((void *)0) - -#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 */ /* libcfs watchdogs */ struct lc_watchdog; @@ -148,8 +87,6 @@ void lc_watchdog_disable(struct lc_watchdog *lcw); /* Clean up the watchdog */ void lc_watchdog_delete(struct lc_watchdog *lcw); -#endif /* __KERNEL__ */ - /* need both kernel and user-land acceptor */ #define LNET_ACCEPTOR_MIN_RESERVED_PORT 512 #define LNET_ACCEPTOR_MAX_RESERVED_PORT 1023 @@ -179,6 +116,7 @@ unsigned int cfs_rand(void); /* seed the generator */ void cfs_srand(unsigned int, unsigned int); void cfs_get_random_bytes(void *buf, int size); +#endif /* __KERNEL__ */ #include #include diff --git a/libcfs/include/libcfs/libcfs_cpu.h b/libcfs/include/libcfs/libcfs_cpu.h index 380be11..00aa9ad 100644 --- a/libcfs/include/libcfs/libcfs_cpu.h +++ b/libcfs/include/libcfs/libcfs_cpu.h @@ -78,17 +78,6 @@ #ifndef HAVE_LIBCFS_CPT -#ifndef __KERNEL__ -typedef struct nodemask { DECLARE_BITMAP(bits, 1); } nodemask_t; -typedef struct cpumask { DECLARE_BITMAP(bits, 1); } cpumask_t; - -#define node_set(node, dst) __node_set((node), &(dst)) -static __always_inline void __node_set(int node, nodemask_t *dstp) -{ - set_bit(node, dstp->bits); -} -#endif /* __KERNEL__ */ - struct cfs_cpt_table { /* # of CPU partitions */ int ctb_nparts; diff --git a/libcfs/include/libcfs/libcfs_debug.h b/libcfs/include/libcfs/libcfs_debug.h index 85cfea3..fc89ce8 100644 --- a/libcfs/include/libcfs/libcfs_debug.h +++ b/libcfs/include/libcfs/libcfs_debug.h @@ -267,6 +267,13 @@ do { \ #endif /* __KERNEL__ */ +/* + * Lustre Error Checksum: calculates checksum + * of Hex number by XORing each bit. + */ +#define LERRCHKSUM(hexnum) (((hexnum) & 0xf) ^ ((hexnum) >> 4 & 0xf) ^ \ + ((hexnum) >> 8 & 0xf)) + #define CWARN(format, ...) CDEBUG_LIMIT(D_WARNING, format, ## __VA_ARGS__) #define CERROR(format, ...) CDEBUG_LIMIT(D_ERROR, format, ## __VA_ARGS__) #define CNETERR(format, a...) CDEBUG_LIMIT(D_NETERROR, format, ## a) diff --git a/libcfs/include/libcfs/libcfs_fail.h b/libcfs/include/libcfs/libcfs_fail.h index 88c8f71..8529566 100644 --- a/libcfs/include/libcfs/libcfs_fail.h +++ b/libcfs/include/libcfs/libcfs_fail.h @@ -156,7 +156,6 @@ static inline int cfs_fail_timeout_set(__u32 id, __u32 value, int ms, int set) #define CFS_FAULT_CHECK(id) \ CFS_FAIL_CHECK(CFS_FAULT | (id)) -#ifdef __KERNEL__ /* The idea here is to synchronise two threads to force a race. The * first thread that calls this with a matching fail_loc is put to * sleep. The next thread that calls with the same fail_loc wakes up @@ -179,9 +178,5 @@ static inline void cfs_race(__u32 id) } } #define CFS_RACE(id) cfs_race(id) -#else -/* sigh. an expedient fix until CFS_RACE is fixed up */ -#define CFS_RACE(foo) do {} while(0) -#endif #endif /* _LIBCFS_FAIL_H */ diff --git a/libcfs/include/libcfs/libcfs_private.h b/libcfs/include/libcfs/libcfs_private.h index b4aeac6..1bd885c 100644 --- a/libcfs/include/libcfs/libcfs_private.h +++ b/libcfs/include/libcfs/libcfs_private.h @@ -483,19 +483,6 @@ static inline size_t cfs_round_strlen(char *fset) return cfs_size_round(strlen(fset) + 1); } -/* roundup \a val to power2 */ -static inline size_t cfs_power2_roundup(size_t val) -{ - if (val != LOWEST_BIT_SET(val)) { /* not a power of 2 already */ - do { - val &= ~LOWEST_BIT_SET(val); - } while (val != LOWEST_BIT_SET(val)); - /* ...and round up */ - val <<= 1; - } - return val; -} - #define LOGL(var,len,ptr) \ do { \ if (var) \ diff --git a/libcfs/include/libcfs/user-time.h b/libcfs/include/libcfs/user-time.h index bf0fdd9..d88af2e 100644 --- a/libcfs/include/libcfs/user-time.h +++ b/libcfs/include/libcfs/user-time.h @@ -82,7 +82,14 @@ #ifndef __KERNEL__ -#define ONE_BILLION ((u_int64_t)1000000000) +#include +#include +#include +#include +#include +#include + +#define ONE_BILLION ((uint64_t)1000000000) #define ONE_MILLION 1000000 /* diff --git a/lnet/lnet/lib-eq.c b/lnet/lnet/lib-eq.c index 91dbf08..709ffc9 100644 --- a/lnet/lnet/lib-eq.c +++ b/lnet/lnet/lib-eq.c @@ -78,7 +78,7 @@ LNetEQAlloc(unsigned int count, lnet_eq_handler_t callback, * overflow, they don't skip entries, so the queue has the same * apparent capacity at all times */ - count = cfs_power2_roundup(count); + count = roundup_pow_of_two(count); if (callback != LNET_EQ_HANDLER_NONE && count != 0) { CWARN("EQ callback is guaranteed to get every event, " diff --git a/lustre/tests/group_lock_test.c b/lustre/tests/group_lock_test.c index 13a1738..1b43580 100644 --- a/lustre/tests/group_lock_test.c +++ b/lustre/tests/group_lock_test.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include diff --git a/lustre/tests/it_test.c b/lustre/tests/it_test.c index a31e0b3..4d3617c 100644 --- a/lustre/tests/it_test.c +++ b/lustre/tests/it_test.c @@ -40,6 +40,7 @@ #include #include +#include #include #include diff --git a/lustre/tests/llapi_fid_test.c b/lustre/tests/llapi_fid_test.c index e8433a1..be38a6c 100644 --- a/lustre/tests/llapi_fid_test.c +++ b/lustre/tests/llapi_fid_test.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include diff --git a/lustre/tests/statone.c b/lustre/tests/statone.c index 202aa53..4a1c695 100644 --- a/lustre/tests/statone.c +++ b/lustre/tests/statone.c @@ -34,8 +34,11 @@ * Lustre is a trademark of Sun Microsystems, Inc. */ +#include #include #include +#include +#include #include #include #include diff --git a/lustre/utils/lctl.c b/lustre/utils/lctl.c index 9c27267..27b46ed 100644 --- a/lustre/utils/lctl.c +++ b/lustre/utils/lctl.c @@ -40,8 +40,10 @@ * Author: Robert Read */ +#include #include #include +#include #include #include #include "obdctl.h" diff --git a/lustre/utils/lhsmtool_posix.c b/lustre/utils/lhsmtool_posix.c index a8d7db40..40cbf3c 100644 --- a/lustre/utils/lhsmtool_posix.c +++ b/lustre/utils/lhsmtool_posix.c @@ -37,9 +37,12 @@ #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif +#include +#include #include #include #include +#include #include #include #include @@ -47,10 +50,12 @@ #include #include #include +#include #include #include #include #include + #include #include #include diff --git a/lustre/utils/liblustreapi.c b/lustre/utils/liblustreapi.c index 2e5f9bd..988d9f4 100644 --- a/lustre/utils/liblustreapi.c +++ b/lustre/utils/liblustreapi.c @@ -58,9 +58,11 @@ #include #include #include -#include #include +#include +#include #include +#include #include #include /* for dirname() */ #ifdef HAVE_LINUX_UNISTD_H diff --git a/lustre/utils/liblustreapi_hsm.c b/lustre/utils/liblustreapi_hsm.c index 8033b03..3536496 100644 --- a/lustre/utils/liblustreapi_hsm.c +++ b/lustre/utils/liblustreapi_hsm.c @@ -32,6 +32,7 @@ * Author: Henri Doreau */ +#include #include #include #include diff --git a/lustre/utils/llog_reader.c b/lustre/utils/llog_reader.c index 4d2f1ff..9dc3ef8 100644 --- a/lustre/utils/llog_reader.c +++ b/lustre/utils/llog_reader.c @@ -40,7 +40,9 @@ * @{ */ +#include #include +#include #include #include #ifdef HAVE_ENDIAN_H diff --git a/lustre/utils/lr_reader.c b/lustre/utils/lr_reader.c index dff6de3..3e2495b 100644 --- a/lustre/utils/lr_reader.c +++ b/lustre/utils/lr_reader.c @@ -46,6 +46,7 @@ #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif +#include #include #include #include diff --git a/lustre/utils/lustre_cfg.c b/lustre/utils/lustre_cfg.c index a664260..8ddd97f 100644 --- a/lustre/utils/lustre_cfg.c +++ b/lustre/utils/lustre_cfg.c @@ -41,7 +41,10 @@ * Author: Robert Read */ +#include +#include #include +#include #include #include #include diff --git a/lustre/utils/lustre_lfsck.c b/lustre/utils/lustre_lfsck.c index 04f0bba..2baf9a7 100644 --- a/lustre/utils/lustre_lfsck.c +++ b/lustre/utils/lustre_lfsck.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include "obdctl.h" diff --git a/lustre/utils/lustre_rsync.c b/lustre/utils/lustre_rsync.c index 112a21c..404ae58 100644 --- a/lustre/utils/lustre_rsync.c +++ b/lustre/utils/lustre_rsync.c @@ -114,6 +114,7 @@ #include #include #include +#include #include #include #include diff --git a/lustre/utils/mount_utils.h b/lustre/utils/mount_utils.h index 013bb46..cac592c 100644 --- a/lustre/utils/mount_utils.h +++ b/lustre/utils/mount_utils.h @@ -48,6 +48,14 @@ #define _SPL_ZFS_H #define _SPL_SIGNAL_H #endif +#include +#include +#include +#include +#include +#include +#include + #include #include diff --git a/lustre/utils/req-layout.c b/lustre/utils/req-layout.c index 4b4908b..644e120 100644 --- a/lustre/utils/req-layout.c +++ b/lustre/utils/req-layout.c @@ -40,12 +40,15 @@ * Author: Nikita Danilov */ +#include #include #include +#include #include #include +#define ARRAY_SIZE(a) ((sizeof(a)) / (sizeof((a)[0]))) #define __REQ_LAYOUT_USER__ (1) #define EXPORT_SYMBOL(s) diff --git a/lustre/utils/wiretest.c b/lustre/utils/wiretest.c index 2481225b..1a3dc98 100644 --- a/lustre/utils/wiretest.c +++ b/lustre/utils/wiretest.c @@ -34,7 +34,10 @@ * Lustre is a trademark of Sun Microsystems, Inc. */ +#include #include +#include + #include #include #include -- 1.8.3.1