From dd918fb51ed8ba180f888a242df20e5a4af29af2 Mon Sep 17 00:00:00 2001 From: "John L. Hammond" Date: Mon, 3 Nov 2014 14:42:49 -0500 Subject: [PATCH] LU-2675 libcfs: remove libcfs posix headers Remove libcfs/include/libcfs/posix/. Include what was needed from libcfs/posix/libcfs.h into libcfs/libcfs.h or in the appropriate .c file. Signed-off-by: John L. Hammond Change-Id: Ia3016c83f13554b617c5f4a6dcc86adf222d4e49 Reviewed-on: http://review.whamcloud.com/11987 Tested-by: Jenkins Reviewed-by: Bob Glossman Reviewed-by: James Simmons Tested-by: Maloo Reviewed-by: Andreas Dilger --- libcfs/autoconf/lustre-libcfs.m4 | 1 - libcfs/include/libcfs/Makefile.am | 4 +- libcfs/include/libcfs/libcfs.h | 33 ++- libcfs/include/libcfs/posix/.gitignore | 1 - libcfs/include/libcfs/posix/Makefile.am | 1 - libcfs/include/libcfs/posix/libcfs.h | 416 ----------------------------- libcfs/include/libcfs/posix/posix-crypto.h | 44 --- libcfs/libcfs/util/l_ioctl.c | 2 + lnet/utils/lnetctl.c | 1 + lnet/utils/lst.c | 2 + lnet/utils/portals.c | 2 + lustre/autoconf/lustre-core.m4 | 3 +- lustre/utils/lhsmtool_posix.c | 1 + lustre/utils/liblustreapi.c | 1 + lustre/utils/mount_lustre.c | 3 + lustre/utils/mount_utils.c | 2 + lustre/utils/obd.c | 1 + 17 files changed, 46 insertions(+), 472 deletions(-) delete mode 100644 libcfs/include/libcfs/posix/.gitignore delete mode 100644 libcfs/include/libcfs/posix/Makefile.am delete mode 100644 libcfs/include/libcfs/posix/libcfs.h delete mode 100644 libcfs/include/libcfs/posix/posix-crypto.h diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 index 8b088ba..1053e91 100644 --- a/libcfs/autoconf/lustre-libcfs.m4 +++ b/libcfs/autoconf/lustre-libcfs.m4 @@ -444,7 +444,6 @@ libcfs/autoconf/Makefile libcfs/include/Makefile libcfs/include/libcfs/Makefile libcfs/include/libcfs/linux/Makefile -libcfs/include/libcfs/posix/Makefile libcfs/include/libcfs/util/Makefile libcfs/libcfs/Makefile libcfs/libcfs/autoMakefile diff --git a/libcfs/include/libcfs/Makefile.am b/libcfs/include/libcfs/Makefile.am index af916b8..67bb495 100644 --- a/libcfs/include/libcfs/Makefile.am +++ b/libcfs/include/libcfs/Makefile.am @@ -1,5 +1,5 @@ -SUBDIRS = linux posix util -DIST_SUBDIRS = linux posix util +SUBDIRS = linux util +DIST_SUBDIRS = linux util libcfsdir = $(includedir)/libcfs diff --git a/libcfs/include/libcfs/libcfs.h b/libcfs/include/libcfs/libcfs.h index 343ef86..cff0fcc 100644 --- a/libcfs/include/libcfs/libcfs.h +++ b/libcfs/include/libcfs/libcfs.h @@ -38,12 +38,37 @@ #define __LIBCFS_LIBCFS_H__ #include +#include #ifdef __KERNEL__ # include -#else /* __KERNEL__ */ -# include -#endif /* !__KERNEL__ */ +#else /* !__KERNEL__ */ +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#endif /* __KERNEL__ */ #include "curproc.h" @@ -109,8 +134,6 @@ static inline int __is_po2(unsigned long long val) #ifdef __KERNEL__ -#include - #ifndef cfs_for_each_possible_cpu # error cfs_for_each_possible_cpu is not supported by kernel! #endif diff --git a/libcfs/include/libcfs/posix/.gitignore b/libcfs/include/libcfs/posix/.gitignore deleted file mode 100644 index 10a7e8d..0000000 --- a/libcfs/include/libcfs/posix/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/Makefile.in diff --git a/libcfs/include/libcfs/posix/Makefile.am b/libcfs/include/libcfs/posix/Makefile.am deleted file mode 100644 index 1a5753c..0000000 --- a/libcfs/include/libcfs/posix/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = libcfs.h posix-crypto.h diff --git a/libcfs/include/libcfs/posix/libcfs.h b/libcfs/include/libcfs/posix/libcfs.h deleted file mode 100644 index 403861c..0000000 --- a/libcfs/include/libcfs/posix/libcfs.h +++ /dev/null @@ -1,416 +0,0 @@ -/* - * GPL HEADER START - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 only, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License version 2 for more details (a copy is included - * in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU General Public License - * version 2 along with this program; If not, see - * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - * - * GPL HEADER END - */ -/* - * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. - * Use is subject to license terms. - * - * Copyright (c) 2012, 2013, Intel Corporation. - */ -/* - * This file is part of Lustre, http://www.lustre.org/ - * Lustre is a trademark of Sun Microsystems, Inc. - * - * libcfs/include/libcfs/posix/libcfs.h - * - * Defines for posix userspace. - * - * Author: Robert Read - */ - -#ifndef __LIBCFS_POSIX_LIBCFS_H__ -#define __LIBCFS_POSIX_LIBCFS_H__ - -#include -#include -#include -#include -#include -#include -#include -#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 -#endif - -#if defined(HAVE_SYS_TYPES_H) -#include -#endif - -#ifdef HAVE_SYS_USER_H -# include -#endif - -#ifdef HAVE_SYS_VFS_H -# include -#endif - -#ifdef HAVE_STDINT_H -# include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#define do_gettimeofday(tv) gettimeofday(tv, NULL); -typedef unsigned long long cfs_cycles_t; - -/* this goes in posix-fs.h */ -#include - -#include - -#define fget(x) NULL -#define fput(f) do {} while (0) - -#ifndef THREAD_SIZE /* x86_64 linux has THREAD_SIZE in userspace */ -# define THREAD_SIZE 8192 -#endif /* THREAD_SIZE */ - -#define CFS_CHECK_STACK(msgdata, mask, cdls) do {} while(0) -#define CDEBUG_STACK() (0L) - -/** - * Platform specific declarations for cfs_curproc API (libcfs/curproc.h) - * - * Implementation is in linux-curproc.c - */ -#define CFS_CURPROC_COMM_MAX (sizeof ((struct task_struct *)0)->comm) - -typedef __u32 kernel_cap_t; - -/** - * Module support (probably shouldn't be used in generic code?) - */ -struct module { - int count; - char *name; -}; - -static inline void MODULE_AUTHOR(char *name) -{ - printf("%s\n", name); -} -#define MODULE_DESCRIPTION(name) MODULE_AUTHOR(name) -#define MODULE_LICENSE(name) MODULE_AUTHOR(name) - -#define THIS_MODULE (void *)0x11111 -#define __init -#define __exit - -static inline int request_module(const char *name, ...) -{ - return (-EINVAL); -} - -static inline void __module_get(struct module *module) -{ -} - -static inline int try_module_get(struct module *module) -{ - return 1; -} - -static inline void module_put(struct module *module) -{ -} - - -static inline int module_refcount(struct module *m) -{ - return 1; -} - -/*************************************************************************** - * - * Linux kernel slab shrinker emulation. Currently used only in lu_object.c - * - ***************************************************************************/ - -struct shrinker { -#ifndef __INTEL_COMPILER - ; -#endif -}; - -struct shrinker_var { -#ifndef __INTEL_COMPILER - ; -#endif -}; - -#define DEF_SHRINKER_VAR(name, shrink, count, scan) \ - struct shrinker_var name = {}; - -#define DEFAULT_SEEKS (0) - -static inline -struct shrinker *set_shrinker(int seeks, struct shrinker_var *var) -{ - return (struct shrinker *)0xdeadbea1; /* Cannot return NULL here */ -} - -static inline void remove_shrinker(struct shrinker *shrinker) -{ -} - -/*************************************************************************** - * - * Linux kernel radix tree emulation. - * - * XXX this stub-implementation assumes that elements stored in a radix tree - * are struct page's and nothing else. Proper implementation will be - * committed soon. - * - ***************************************************************************/ - -struct radix_tree_root { - struct list_head list; - void *rnode; -}; - -struct radix_tree_node { - struct list_head _node; - unsigned long index; - void *item; -}; - -#define RADIX_TREE_INIT(mask) { \ - NOT_IMPLEMENTED \ -} - -#define RADIX_TREE(name, mask) \ - struct radix_tree_root name = RADIX_TREE_INIT(mask) - - -#define INIT_RADIX_TREE(root, mask) \ -do { \ - INIT_LIST_HEAD(&((struct radix_tree_root *)root)->list); \ - ((struct radix_tree_root *)root)->rnode = NULL; \ -} while (0) - -static inline int radix_tree_insert(struct radix_tree_root *root, - unsigned long idx, void *item) -{ - struct radix_tree_node *node; - node = malloc(sizeof(*node)); - if (!node) - return -ENOMEM; - - INIT_LIST_HEAD(&node->_node); - node->index = idx; - node->item = item; - list_add_tail(&node->_node, &root->list); - root->rnode = (void *)1001; - return 0; -} - -static inline struct radix_tree_node * -radix_tree_lookup0(struct radix_tree_root *root, unsigned long idx) -{ - struct radix_tree_node *node; - - if (list_empty(&root->list)) - return NULL; - - list_for_each_entry(node, &root->list, _node) - if (node->index == idx) - return node; - - return NULL; -} - -static inline void *radix_tree_lookup(struct radix_tree_root *root, - unsigned long idx) -{ - struct radix_tree_node *node = radix_tree_lookup0(root, idx); - - if (node) - return node->item; - return node; -} - -static inline void *radix_tree_delete(struct radix_tree_root *root, - unsigned long idx) -{ - struct radix_tree_node *p = radix_tree_lookup0(root, idx); - void *item; - - if (p == NULL) - return NULL; - - list_del_init(&p->_node); - item = p->item; - free(p); - if (list_empty(&root->list)) - root->rnode = NULL; - - return item; -} - -static inline unsigned int -radix_tree_gang_lookup(struct radix_tree_root *root, void **results, - unsigned long first_index, unsigned int max_items) -{ - int i; - int j = 0; - - for (i = 0; i < max_items; i++, first_index++) { - results[j++] = radix_tree_lookup(root, first_index); - if (results[j - 1] == NULL) - --j; - } - - return j; -} - -static inline int radix_tree_preload(int gfp_mask) -{ - return 0; -} - -void radix_tree_init(void); - -static inline void radix_tree_preload_end(void) -{ -} - -/*************************************************************************** - * - * Linux kernel red black tree emulation. - * - ***************************************************************************/ -struct rb_node { - unsigned long rb_parent_color; -#define RB_RED 0 -#define RB_BLACK 1 - struct rb_node *rb_right; - struct rb_node *rb_left; -}; - -struct rb_root { - struct rb_node *rb_node; -}; - - -#define rb_parent(r) ((struct rb_node *)((r)->rb_parent_color & ~3)) -#define rb_color(r) ((r)->rb_parent_color & 1) -#define rb_is_red(r) (!rb_color(r)) -#define rb_is_black(r) rb_color(r) -#define rb_set_red(r) do { (r)->rb_parent_color &= ~1; } while (0) -#define rb_set_black(r) do { (r)->rb_parent_color |= 1; } while (0) - -static inline void rb_set_parent(struct rb_node *rb, struct rb_node *p) -{ - rb->rb_parent_color = (rb->rb_parent_color & 3) | (unsigned long)p; -} -static inline void rb_set_color(struct rb_node *rb, int color) -{ - rb->rb_parent_color = (rb->rb_parent_color & ~1) | color; -} - -#define RB_ROOT ((struct rb_root) { NULL, }) -#define rb_entry(ptr, type, member) container_of(ptr, type, member) - -#define RB_EMPTY_ROOT(root) ((root)->rb_node == NULL) -#define RB_EMPTY_NODE(node) (rb_parent(node) == node) -#define RB_CLEAR_NODE(node) (rb_set_parent(node, node)) - -static inline void rb_init_node(struct rb_node *rb) -{ - rb->rb_parent_color = 0; - rb->rb_right = NULL; - rb->rb_left = NULL; - RB_CLEAR_NODE(rb); -} - -extern void rb_insert_color(struct rb_node *, struct rb_root *); -extern void rb_erase(struct rb_node *, struct rb_root *); - -/* Find logical next and previous nodes in a tree */ -extern struct rb_node *rb_next(const struct rb_node *); -extern struct rb_node *rb_prev(const struct rb_node *); -extern struct rb_node *rb_first(const struct rb_root *); -extern struct rb_node *rb_last(const struct rb_root *); -static inline void rb_link_node(struct rb_node *node, struct rb_node *parent, - struct rb_node **rb_link) -{ - node->rb_parent_color = (unsigned long)parent; - node->rb_left = node->rb_right = NULL; - - *rb_link = node; -} - -/*************************************************************************** - * - * End of Linux kernel red black tree emulation. - * - ***************************************************************************/ - -typedef ssize_t (*read_actor_t)(); - -# ifndef IFTODT -# define IFSHIFT 12 -# define IFTODT(type) (((type) & S_IFMT) >> IFSHIFT) -# define DTTOIF(dirtype) ((dirtype) << IFSHIFT) -# endif - -#ifndef ERESTARTSYS -#define ERESTARTSYS ERESTART -#endif - -#endif diff --git a/libcfs/include/libcfs/posix/posix-crypto.h b/libcfs/include/libcfs/posix/posix-crypto.h deleted file mode 100644 index 72a9fc1..0000000 --- a/libcfs/include/libcfs/posix/posix-crypto.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * GPL HEADER START - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 only, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License version 2 for more details (a copy is included - * in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU General Public License - * version 2 along with this program; If not, see http://www.gnu.org/licenses - * - * Please visit http://www.xyratex.com/contact if you need additional - * information or have any questions. - * - * GPL HEADER END - */ - -/* - * Copyright 2012 Xyratex Technology Limited - */ - -/** - * User crypto hash specific functions. - */ - -/** - * CRC32 functions. - */ -int crc32init_le(void); -unsigned int crc32_le(unsigned int crc, unsigned char const *p, size_t len); - -/** - * Adler32 functions. - */ -unsigned long zlib_adler32(unsigned long adler, - const unsigned char *buf, - unsigned int len); diff --git a/libcfs/libcfs/util/l_ioctl.c b/libcfs/libcfs/util/l_ioctl.c index fe35073..cf1fcd9 100644 --- a/libcfs/libcfs/util/l_ioctl.c +++ b/libcfs/libcfs/util/l_ioctl.c @@ -20,6 +20,8 @@ #define __USE_FILE_OFFSET64 +#include +#include #include #include diff --git a/lnet/utils/lnetctl.c b/lnet/utils/lnetctl.c index eb189b2..3750417 100644 --- a/lnet/utils/lnetctl.c +++ b/lnet/utils/lnetctl.c @@ -26,6 +26,7 @@ #include #include +#include #include #include #include "cyaml/cyaml.h" diff --git a/lnet/utils/lst.c b/lnet/utils/lst.c index abe2acf..29f9046 100644 --- a/lnet/utils/lst.c +++ b/lnet/utils/lst.c @@ -38,6 +38,8 @@ * Author: Liang Zhen */ +#include +#include #include #include #include diff --git a/lnet/utils/portals.c b/lnet/utils/portals.c index a2a9f31..fc6cb51 100644 --- a/lnet/utils/portals.c +++ b/lnet/utils/portals.c @@ -23,6 +23,8 @@ #include #include #include +#include +#include unsigned int libcfs_debug; unsigned int libcfs_printk = D_CANTMASK; diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 7639075..a87ccca 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -1856,9 +1856,8 @@ AS_IF([test $target_cpu == "i686" -o $target_cpu == "x86_64"], # maximum MDS thread count LC_MDS_MAX_THREADS -# libcfs/include/libcfs/posix/libcfs.h # lustre/utils/llverdev.c -AC_CHECK_HEADERS([sys/user.h sys/vfs.h stdint.h blkid/blkid.h]) +AC_CHECK_HEADERS([blkid/blkid.h]) # libcfs/include/libcfs/linux/linux-prim.h, ... AC_CHECK_HEADERS([linux/types.h sys/types.h linux/unistd.h unistd.h]) diff --git a/lustre/utils/lhsmtool_posix.c b/lustre/utils/lhsmtool_posix.c index 183d910..dda8551 100644 --- a/lustre/utils/lhsmtool_posix.c +++ b/lustre/utils/lhsmtool_posix.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include diff --git a/lustre/utils/liblustreapi.c b/lustre/utils/liblustreapi.c index 4a81941..c211a6e 100644 --- a/lustre/utils/liblustreapi.c +++ b/lustre/utils/liblustreapi.c @@ -45,6 +45,7 @@ #define _GNU_SOURCE #endif +#include #include #include #include diff --git a/lustre/utils/mount_lustre.c b/lustre/utils/mount_lustre.c index b070623..fd93d5c 100644 --- a/lustre/utils/mount_lustre.c +++ b/lustre/utils/mount_lustre.c @@ -43,12 +43,15 @@ #define _GNU_SOURCE #endif #include "mount_utils.h" +#include +#include #include #include #include #include #include #include +#include #include "obdctl.h" #include #include diff --git a/lustre/utils/mount_utils.c b/lustre/utils/mount_utils.c index f7a62ed..7383f21 100644 --- a/lustre/utils/mount_utils.c +++ b/lustre/utils/mount_utils.c @@ -38,12 +38,14 @@ #endif /* HAVE_CONFIG_H */ #include "mount_utils.h" +#include #include #include #include #include #include #include +#include #include #include #include diff --git a/lustre/utils/obd.c b/lustre/utils/obd.c index 4acdf7f..aa9117f 100644 --- a/lustre/utils/obd.c +++ b/lustre/utils/obd.c @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include -- 1.8.3.1