X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=libcfs%2Finclude%2Flibcfs%2Fposix%2Flibcfs.h;h=18551ca4da83f76fc22dd6e7123785545ebc97d7;hb=f95393b0d0a59cf3dc2f29cffc35dcc4cc9d7728;hp=b50554f76e0bbec292eaf09cd240572eec5a9b17;hpb=dc528f3149065350edf169e4ead19770413a52b3;p=fs%2Flustre-release.git diff --git a/libcfs/include/libcfs/posix/libcfs.h b/libcfs/include/libcfs/posix/libcfs.h index b50554f..18551ca 100644 --- a/libcfs/include/libcfs/posix/libcfs.h +++ b/libcfs/include/libcfs/posix/libcfs.h @@ -26,7 +26,7 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ /* @@ -43,6 +43,7 @@ #ifndef __LIBCFS_POSIX_LIBCFS_H__ #define __LIBCFS_POSIX_LIBCFS_H__ +#include #include #include #include @@ -51,14 +52,28 @@ #include #include #include -#include #include #include #include +#include #include #include #include #include +#include +#include +#include +#include +#include +#include + +#ifdef HAVE_NETDB_H +#include +#endif + +#ifdef HAVE_UNISTD_H +#include +#endif #ifdef HAVE_LIBPTHREAD #include @@ -90,8 +105,8 @@ #include #include -# define do_gettimeofday(tv) gettimeofday(tv, NULL); -typedef unsigned long long cycles_t; +# define cfs_gettimeofday(tv) gettimeofday(tv, NULL); +typedef unsigned long long cfs_cycles_t; #define IS_ERR(a) ((unsigned long)(a) > (unsigned long)-1000L) #define PTR_ERR(a) ((long)(a)) @@ -110,6 +125,9 @@ typedef struct dentry cfs_dentry_t; typedef struct dirent64 cfs_dirent_t; #endif +#define cfs_get_fd(x) NULL +#define cfs_put_file(f) do {} while (0) + #ifdef __linux__ /* Userpace byte flipping */ # include @@ -181,12 +199,14 @@ typedef struct dirent64 cfs_dirent_t; # ifndef THREAD_SIZE /* x86_64 linux has THREAD_SIZE in userspace */ -# define THREAD_SIZE 8192 +# define CFS_THREAD_SIZE 8192 +# else +# define CFS_THREAD_SIZE THREAD_SIZE # endif -#define LUSTRE_TRACE_SIZE (THREAD_SIZE >> 5) +#define LUSTRE_TRACE_SIZE (CFS_THREAD_SIZE >> 5) -#define CHECK_STACK() do { } while(0) +#define CFS_CHECK_STACK() do { } while(0) #define CDEBUG_STACK() (0L) /* initial pid */ @@ -209,10 +229,10 @@ typedef __u32 cfs_kernel_cap_t; /** * Module support (probably shouldn't be used in generic code?) */ -struct module { +typedef struct cfs_module { int count; char *name; -}; +} cfs_module_t; static inline void MODULE_AUTHOR(char *name) { @@ -225,26 +245,26 @@ static inline void MODULE_AUTHOR(char *name) #define __init #define __exit -static inline int request_module(char *name) +static inline int cfs_request_module(const char *name, ...) { return (-EINVAL); } -static inline void __module_get(struct module *module) +static inline void __cfs_module_get(cfs_module_t *module) { } -static inline int try_module_get(struct module *module) +static inline int cfs_try_module_get(cfs_module_t *module) { return 1; } -static inline void module_put(struct module *module) +static inline void cfs_module_put(cfs_module_t *module) { } -static inline int module_refcount(struct module *m) +static inline int cfs_module_refcount(cfs_module_t *m) { return 1; } @@ -255,20 +275,21 @@ static inline int module_refcount(struct module *m) * ***************************************************************************/ -struct shrinker { +struct cfs_shrinker { ; }; -#define DEFAULT_SEEKS (0) +#define CFS_DEFAULT_SEEKS (0) -typedef int (*shrinker_t)(int, unsigned int); +typedef int (*cfs_shrinker_t)(int, unsigned int); -static inline struct shrinker *set_shrinker(int seeks, shrinker_t shrinkert) +static inline +struct cfs_shrinker *cfs_set_shrinker(int seeks, cfs_shrinker_t shrink) { - return (struct shrinker *)0xdeadbea1; // Cannot return NULL here + return (struct cfs_shrinker *)0xdeadbea1; // Cannot return NULL here } -static inline void remove_shrinker(struct shrinker *shrinker) +static inline void cfs_remove_shrinker(struct cfs_shrinker *shrinker) { } @@ -283,27 +304,27 @@ static inline void remove_shrinker(struct shrinker *shrinker) ***************************************************************************/ struct radix_tree_root { - struct list_head list; + cfs_list_t list; void *rnode; }; struct radix_tree_node { - struct list_head _node; + cfs_list_t _node; unsigned long index; void *item; }; - -#define RADIX_TREE_INIT(mask) { \ + +#define RADIX_TREE_INIT(mask) { \ NOT_IMPLEMENTED \ } #define RADIX_TREE(name, mask) \ - struct radix_tree_root name = RADIX_TREE_INIT(mask) + struct radix_tree_root name = RADIX_TREE_INIT(mask) -#define INIT_RADIX_TREE(root, mask) \ -do { \ - CFS_INIT_LIST_HEAD(&((struct radix_tree_root *)root)->list); \ +#define INIT_RADIX_TREE(root, mask) \ +do { \ + CFS_INIT_LIST_HEAD(&((struct radix_tree_root *)root)->list); \ ((struct radix_tree_root *)root)->rnode = NULL; \ } while (0) @@ -318,8 +339,8 @@ static inline int radix_tree_insert(struct radix_tree_root *root, CFS_INIT_LIST_HEAD(&node->_node); node->index = idx; node->item = item; - list_add_tail(&node->_node, &root->list); - root->rnode = (void *)1001; + cfs_list_add_tail(&node->_node, &root->list); + root->rnode = (void *)1001; return 0; } @@ -328,10 +349,11 @@ static inline struct radix_tree_node *radix_tree_lookup0(struct radix_tree_root { struct radix_tree_node *node; - if (list_empty(&root->list)) + if (cfs_list_empty(&root->list)) return NULL; - list_for_each_entry(node, &root->list, _node) + cfs_list_for_each_entry_typed(node, &root->list, + struct radix_tree_node, _node) if (node->index == idx) return node; @@ -357,10 +379,10 @@ static inline void *radix_tree_delete(struct radix_tree_root *root, if (p == NULL) return NULL; - list_del_init(&p->_node); + cfs_list_del_init(&p->_node); item = p->item; free(p); - if (list_empty(&root->list)) + if (cfs_list_empty(&root->list)) root->rnode = NULL; return item; @@ -395,4 +417,9 @@ static inline void radix_tree_preload_end(void) typedef ssize_t (*read_actor_t)(); +#define CFS_IFSHIFT 12 + +#define CFS_IFTODT(type) (((type) & S_IFMT) >> CFS_IFSHIFT) +#define CFS_DTTOIF(dirtype) ((dirtype) << CFS_IFSHIFT) + #endif