diff options
Diffstat (limited to 'drivers/staging/lustre/include')
15 files changed, 28 insertions, 481 deletions
diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs.h b/drivers/staging/lustre/include/linux/libcfs/libcfs.h index 7d37bec918f3..a6b2f906bb1a 100644 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs.h +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs.h @@ -165,7 +165,6 @@ void cfs_get_random_bytes(void *buf, int size); #include "libcfs_kernelcomm.h" #include "libcfs_workitem.h" #include "libcfs_hash.h" -#include "libcfs_heap.h" #include "libcfs_fail.h" #include "libcfs_crypto.h" @@ -174,8 +173,7 @@ static inline void *__container_of(void *ptr, unsigned long shift) { if (unlikely(IS_ERR(ptr) || ptr == NULL)) return ptr; - else - return (char *)ptr - shift; + return (char *)ptr - shift; } #define container_of0(ptr, type, member) \ diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_cpu.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_cpu.h index a140e5d91860..787867847483 100644 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_cpu.h +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_cpu.h @@ -102,13 +102,13 @@ struct cfs_cpt_table { static inline cpumask_t * cfs_cpt_cpumask(struct cfs_cpt_table *cptab, int cpt) { - return NULL; + return NULL; } static inline int cfs_cpt_table_print(struct cfs_cpt_table *cptab, char *buf, int len) { - return 0; + return 0; } #endif /* CONFIG_SMP */ diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_crypto.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_crypto.h index 9e610a9ce51f..e8663697e7a6 100644 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_crypto.h +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_crypto.h @@ -83,8 +83,7 @@ static inline const char *cfs_crypto_hash_name(unsigned char hash_alg) ht = cfs_crypto_hash_type(hash_alg); if (ht) return ht->cht_name; - else - return "unknown"; + return "unknown"; } /** Return digest size for valid algorithm identifier or 0 */ @@ -95,8 +94,7 @@ static inline int cfs_crypto_hash_digestsize(unsigned char hash_alg) ht = cfs_crypto_hash_type(hash_alg); if (ht) return ht->cht_size; - else - return 0; + return 0; } /** Return hash identifier for valid hash algorithm name or 0xFF */ diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h index 30098f39181f..8888b2756174 100644 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_debug.h @@ -80,7 +80,7 @@ struct ptldebug_header { __u32 ph_pid; __u32 ph_extern_pid; __u32 ph_line_num; -} __attribute__((packed)); +} __packed; #define PH_FLAG_FIRST_RECORD 1 @@ -265,9 +265,9 @@ int libcfs_debug_vmsg2(struct libcfs_debug_msg_data *msgdata, /* other external symbols that tracefile provides: */ int cfs_trace_copyin_string(char *knl_buffer, int knl_buffer_nob, - const char *usr_buffer, int usr_buffer_nob); -int cfs_trace_copyout_string(char *usr_buffer, int usr_buffer_nob, - const char *knl_buffer, char *append); + const char __user *usr_buffer, int usr_buffer_nob); +int cfs_trace_copyout_string(char __user *usr_buffer, int usr_buffer_nob, + const char *knl_buffer, char *append); #define LIBCFS_DEBUG_FILE_PATH_DEFAULT "/tmp/lustre-log" diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_fail.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_fail.h index 1934ec20e536..eea55d94e6be 100644 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_fail.h +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_fail.h @@ -124,8 +124,7 @@ static inline int cfs_fail_timeout_set(__u32 id, __u32 value, int ms, int set) { if (unlikely(CFS_FAIL_PRECHECK(id))) return __cfs_fail_timeout_set(id, value, ms, set); - else - return 0; + return 0; } /* If id hit cfs_fail_loc, sleep for seconds or milliseconds */ @@ -156,8 +155,8 @@ static inline void cfs_race(__u32 id) cfs_race_state = 0; CERROR("cfs_race id %x sleeping\n", id); - cfs_wait_event_interruptible(cfs_race_waitq, - cfs_race_state != 0, rc); + rc = wait_event_interruptible(cfs_race_waitq, + cfs_race_state != 0); CERROR("cfs_fail_race id %x awake, rc=%d\n", id, rc); } else { CERROR("cfs_fail_race id %x waking\n", id); diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_heap.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_heap.h deleted file mode 100644 index bfa6d7b245ea..000000000000 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_heap.h +++ /dev/null @@ -1,200 +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 COPYING file that accompanied this code. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * GPL HEADER END - */ -/* - * Copyright (c) 2011 Intel Corporation - */ -/* - * libcfs/include/libcfs/heap.h - * - * Author: Eric Barton <eeb@whamcloud.com> - * Liang Zhen <liang@whamcloud.com> - */ - -#ifndef __LIBCFS_HEAP_H__ -#define __LIBCFS_HEAP_H__ - -/** \defgroup heap Binary heap - * - * The binary heap is a scalable data structure created using a binary tree. It - * is capable of maintaining large sets of elements sorted usually by one or - * more element properties, but really based on anything that can be used as a - * binary predicate in order to determine the relevant ordering of any two nodes - * that belong to the set. There is no search operation, rather the intention is - * for the element of the lowest priority which will always be at the root of - * the tree (as this is an implementation of a min-heap) to be removed by users - * for consumption. - * - * Users of the heap should embed a \e cfs_binheap_node_t object instance on - * every object of the set that they wish the binary heap instance to handle, - * and (at a minimum) provide a cfs_binheap_ops_t::hop_compare() implementation - * which is used by the heap as the binary predicate during its internal sorting - * operations. - * - * The current implementation enforces no locking scheme, and so assumes the - * user caters for locking between calls to insert, delete and lookup - * operations. Since the only consumer for the data structure at this point - * are NRS policies, and these operate on a per-CPT basis, binary heap instances - * are tied to a specific CPT. - * @{ - */ - -/** - * Binary heap node. - * - * Objects of this type are embedded into objects of the ordered set that is to - * be maintained by a \e cfs_binheap_t instance. - */ -typedef struct { - /** Index into the binary tree */ - unsigned int chn_index; -} cfs_binheap_node_t; - -#define CBH_SHIFT 9 -#define CBH_SIZE (1 << CBH_SHIFT) /* # ptrs per level */ -#define CBH_MASK (CBH_SIZE - 1) -#define CBH_NOB (CBH_SIZE * sizeof(cfs_binheap_node_t *)) - -#define CBH_POISON 0xdeadbeef - -/** - * Binary heap flags. - */ -enum { - CBH_FLAG_ATOMIC_GROW = 1, -}; - -struct cfs_binheap; - -/** - * Binary heap operations. - */ -typedef struct { - /** - * Called right before inserting a node into the binary heap. - * - * Implementing this operation is optional. - * - * \param[in] h The heap - * \param[in] e The node - * - * \retval 0 success - * \retval != 0 error - */ - int (*hop_enter)(struct cfs_binheap *h, - cfs_binheap_node_t *e); - /** - * Called right after removing a node from the binary heap. - * - * Implementing this operation is optional. - * - * \param[in] h The heap - * \param[in] e The node - */ - void (*hop_exit)(struct cfs_binheap *h, - cfs_binheap_node_t *e); - /** - * A binary predicate which is called during internal heap sorting - * operations, and used in order to determine the relevant ordering of - * two heap nodes. - * - * Implementing this operation is mandatory. - * - * \param[in] a The first heap node - * \param[in] b The second heap node - * - * \retval 0 Node a > node b - * \retval 1 Node a < node b - * - * \see cfs_binheap_bubble() - * \see cfs_biheap_sink() - */ - int (*hop_compare)(cfs_binheap_node_t *a, - cfs_binheap_node_t *b); -} cfs_binheap_ops_t; - -/** - * Binary heap object. - * - * Sorts elements of type \e cfs_binheap_node_t - */ -typedef struct cfs_binheap { - /** Triple indirect */ - cfs_binheap_node_t ****cbh_elements3; - /** double indirect */ - cfs_binheap_node_t ***cbh_elements2; - /** single indirect */ - cfs_binheap_node_t **cbh_elements1; - /** # elements referenced */ - unsigned int cbh_nelements; - /** high water mark */ - unsigned int cbh_hwm; - /** user flags */ - unsigned int cbh_flags; - /** operations table */ - cfs_binheap_ops_t *cbh_ops; - /** private data */ - void *cbh_private; - /** associated CPT table */ - struct cfs_cpt_table *cbh_cptab; - /** associated CPT id of this cfs_binheap_t::cbh_cptab */ - int cbh_cptid; -} cfs_binheap_t; - -void cfs_binheap_destroy(cfs_binheap_t *h); -cfs_binheap_t *cfs_binheap_create(cfs_binheap_ops_t *ops, unsigned int flags, - unsigned count, void *arg, - struct cfs_cpt_table *cptab, int cptid); -cfs_binheap_node_t *cfs_binheap_find(cfs_binheap_t *h, unsigned int idx); -int cfs_binheap_insert(cfs_binheap_t *h, cfs_binheap_node_t *e); -void cfs_binheap_remove(cfs_binheap_t *h, cfs_binheap_node_t *e); - -static inline int -cfs_binheap_size(cfs_binheap_t *h) -{ - return h->cbh_nelements; -} - -static inline int -cfs_binheap_is_empty(cfs_binheap_t *h) -{ - return h->cbh_nelements == 0; -} - -static inline cfs_binheap_node_t * -cfs_binheap_root(cfs_binheap_t *h) -{ - return cfs_binheap_find(h, 0); -} - -static inline cfs_binheap_node_t * -cfs_binheap_remove_root(cfs_binheap_t *h) -{ - cfs_binheap_node_t *e = cfs_binheap_find(h, 0); - - if (e != NULL) - cfs_binheap_remove(h, e); - return e; -} - -/** @} heap */ - -#endif /* __LIBCFS_HEAP_H__ */ diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_ioctl.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_ioctl.h index 87f2d901c7c1..3ee38782ad8c 100644 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_ioctl.h +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_ioctl.h @@ -75,8 +75,7 @@ struct libcfs_ioctl_hdr { __u32 ioc_version; }; -struct libcfs_debug_ioctl_data -{ +struct libcfs_debug_ioctl_data { struct libcfs_ioctl_hdr hdr; unsigned int subs; unsigned int debug; diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_prim.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_prim.h index a38209506d6c..978d3e2f16d3 100644 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_prim.h +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_prim.h @@ -83,6 +83,5 @@ static inline void cfs_memory_pressure_restore(int old) memory_pressure_set(); else memory_pressure_clr(); - return; } #endif diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_private.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_private.h index 82a269cee6dd..2817112c0633 100644 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_private.h +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_private.h @@ -453,8 +453,7 @@ int cfs_match_nid(lnet_nid_t nid, struct list_head *list); * Support for temporary event tracing with minimal Heisenberg effect. * -------------------------------------------------------------------- */ -struct libcfs_device_userstate -{ +struct libcfs_device_userstate { int ldu_memhog_pages; struct page *ldu_memhog_root_page; }; diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs_time.h b/drivers/staging/lustre/include/linux/libcfs/libcfs_time.h index 1344139c46c3..5de6da085712 100644 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs_time.h +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs_time.h @@ -94,7 +94,7 @@ static inline void cfs_slow_warning(unsigned long now, int seconds, char *msg) /* \ * XXX nikita: non-portable initializer \ */ \ - static time_t __next_message = 0; \ + static time_t __next_message; \ int result; \ \ if (cfs_time_after(cfs_time_current(), __next_message)) \ diff --git a/drivers/staging/lustre/include/linux/libcfs/linux/libcfs.h b/drivers/staging/lustre/include/linux/libcfs/linux/libcfs.h index ccc55fc41a9e..4fe50841e8e3 100644 --- a/drivers/staging/lustre/include/linux/libcfs/linux/libcfs.h +++ b/drivers/staging/lustre/include/linux/libcfs/linux/libcfs.h @@ -78,15 +78,14 @@ #include <linux/unistd.h> #include <linux/vmalloc.h> #include <net/sock.h> -#include <asm/atomic.h> +#include <linux/atomic.h> #include <asm/div64.h> -#include <asm/timex.h> -#include <asm/uaccess.h> +#include <linux/timex.h> +#include <linux/uaccess.h> #include <stdarg.h> #include "linux-cpu.h" #include "linux-time.h" #include "linux-mem.h" -#include "portals_compat25.h" #define LUSTRE_TRACE_SIZE (THREAD_SIZE >> 5) diff --git a/drivers/staging/lustre/include/linux/libcfs/linux/linux-time.h b/drivers/staging/lustre/include/linux/libcfs/linux/linux-time.h index 1158a3112bcc..0fc490bac2b5 100644 --- a/drivers/staging/lustre/include/linux/libcfs/linux/linux-time.h +++ b/drivers/staging/lustre/include/linux/libcfs/linux/linux-time.h @@ -53,8 +53,6 @@ #include <linux/time.h> #include <asm/div64.h> -#include "portals_compat25.h" - /* * post 2.5 kernels. */ @@ -108,8 +106,7 @@ static inline void cfs_duration_usec(long d, struct timeval *s) s->tv_usec = t; #else s->tv_sec = d / HZ; - s->tv_usec = ((d - (long)s->tv_sec * HZ) * \ - ONE_MILLION) / HZ; + s->tv_usec = ((d - (long)s->tv_sec * HZ) * ONE_MILLION) / HZ; #endif } diff --git a/drivers/staging/lustre/include/linux/libcfs/linux/portals_compat25.h b/drivers/staging/lustre/include/linux/libcfs/linux/portals_compat25.h deleted file mode 100644 index 442d61be1c18..000000000000 --- a/drivers/staging/lustre/include/linux/libcfs/linux/portals_compat25.h +++ /dev/null @@ -1,81 +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, Intel Corporation. - */ -/* - * This file is part of Lustre, http://www.lustre.org/ - * Lustre is a trademark of Sun Microsystems, Inc. - */ - -#ifndef __LIBCFS_LINUX_PORTALS_COMPAT_H__ -#define __LIBCFS_LINUX_PORTALS_COMPAT_H__ - -/* XXX BUG 1511 -- remove this stanza and all callers when bug 1511 is resolved */ -#if defined(SPINLOCK_DEBUG) && SPINLOCK_DEBUG -# define SIGNAL_MASK_ASSERT() \ - LASSERT(current->sighand->siglock.magic == SPINLOCK_MAGIC) -#else -# define SIGNAL_MASK_ASSERT() -#endif -/* XXX BUG 1511 -- remove this stanza and all callers when bug 1511 is resolved */ - -#define SIGNAL_MASK_LOCK(task, flags) \ - spin_lock_irqsave(&task->sighand->siglock, flags) -#define SIGNAL_MASK_UNLOCK(task, flags) \ - spin_unlock_irqrestore(&task->sighand->siglock, flags) -#define USERMODEHELPER(path, argv, envp) \ - call_usermodehelper(path, argv, envp, 1) -#define clear_tsk_thread_flag(current, TIF_SIGPENDING) clear_tsk_thread_flag(current, \ - TIF_SIGPENDING) -# define smp_num_cpus num_online_cpus() - -#define cfs_wait_event_interruptible(wq, condition, ret) \ - ret = wait_event_interruptible(wq, condition) -#define cfs_wait_event_interruptible_exclusive(wq, condition, ret) \ - ret = wait_event_interruptible_exclusive(wq, condition) - -#define THREAD_NAME(comm, len, fmt, a...) \ - snprintf(comm, len, fmt, ## a) - -/* 2.6 alloc_page users can use page->lru */ -#define PAGE_LIST_ENTRY lru -#define PAGE_LIST(page) ((page)->lru) - -#ifndef __user -#define __user -#endif - -#ifndef __fls -#define __cfs_fls fls -#else -#define __cfs_fls __fls -#endif - -#endif /* _PORTALS_COMPAT_H */ diff --git a/drivers/staging/lustre/include/linux/libcfs/lucache.h b/drivers/staging/lustre/include/linux/libcfs/lucache.h deleted file mode 100644 index 5d6e1b9de206..000000000000 --- a/drivers/staging/lustre/include/linux/libcfs/lucache.h +++ /dev/null @@ -1,162 +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) 2007, 2010, Oracle and/or its affiliates. All rights reserved. - * Use is subject to license terms. - * - * Copyright (c) 2012, Intel Corporation. - */ -/* - * This file is part of Lustre, http://www.lustre.org/ - * Lustre is a trademark of Sun Microsystems, Inc. - */ - -#ifndef _LUCACHE_H -#define _LUCACHE_H - -#include "libcfs.h" - -/** \defgroup ucache ucache - * - * @{ - */ - -#define UC_CACHE_NEW 0x01 -#define UC_CACHE_ACQUIRING 0x02 -#define UC_CACHE_INVALID 0x04 -#define UC_CACHE_EXPIRED 0x08 - -#define UC_CACHE_IS_NEW(i) ((i)->ue_flags & UC_CACHE_NEW) -#define UC_CACHE_IS_INVALID(i) ((i)->ue_flags & UC_CACHE_INVALID) -#define UC_CACHE_IS_ACQUIRING(i) ((i)->ue_flags & UC_CACHE_ACQUIRING) -#define UC_CACHE_IS_EXPIRED(i) ((i)->ue_flags & UC_CACHE_EXPIRED) -#define UC_CACHE_IS_VALID(i) ((i)->ue_flags == 0) - -#define UC_CACHE_SET_NEW(i) (i)->ue_flags |= UC_CACHE_NEW -#define UC_CACHE_SET_INVALID(i) (i)->ue_flags |= UC_CACHE_INVALID -#define UC_CACHE_SET_ACQUIRING(i) (i)->ue_flags |= UC_CACHE_ACQUIRING -#define UC_CACHE_SET_EXPIRED(i) (i)->ue_flags |= UC_CACHE_EXPIRED -#define UC_CACHE_SET_VALID(i) (i)->ue_flags = 0 - -#define UC_CACHE_CLEAR_NEW(i) (i)->ue_flags &= ~UC_CACHE_NEW -#define UC_CACHE_CLEAR_ACQUIRING(i) (i)->ue_flags &= ~UC_CACHE_ACQUIRING -#define UC_CACHE_CLEAR_INVALID(i) (i)->ue_flags &= ~UC_CACHE_INVALID -#define UC_CACHE_CLEAR_EXPIRED(i) (i)->ue_flags &= ~UC_CACHE_EXPIRED - -struct upcall_cache_entry; - -struct md_perm { - lnet_nid_t mp_nid; - __u32 mp_perm; -}; - -struct md_identity { - struct upcall_cache_entry *mi_uc_entry; - uid_t mi_uid; - gid_t mi_gid; - struct group_info *mi_ginfo; - int mi_nperms; - struct md_perm *mi_perms; -}; - -struct upcall_cache_entry { - struct list_head ue_hash; - __u64 ue_key; - atomic_t ue_refcount; - int ue_flags; - wait_queue_head_t ue_waitq; - unsigned long ue_acquire_expire; - unsigned long ue_expire; - union { - struct md_identity identity; - } u; -}; - -#define UC_CACHE_HASH_SIZE (128) -#define UC_CACHE_HASH_INDEX(id) ((id) & (UC_CACHE_HASH_SIZE - 1)) -#define UC_CACHE_UPCALL_MAXPATH (1024UL) - -struct upcall_cache; - -struct upcall_cache_ops { - void (*init_entry)(struct upcall_cache_entry *, void *args); - void (*free_entry)(struct upcall_cache *, - struct upcall_cache_entry *); - int (*upcall_compare)(struct upcall_cache *, - struct upcall_cache_entry *, - __u64 key, void *args); - int (*downcall_compare)(struct upcall_cache *, - struct upcall_cache_entry *, - __u64 key, void *args); - int (*do_upcall)(struct upcall_cache *, - struct upcall_cache_entry *); - int (*parse_downcall)(struct upcall_cache *, - struct upcall_cache_entry *, void *); -}; - -struct upcall_cache { - struct list_head uc_hashtable[UC_CACHE_HASH_SIZE]; - spinlock_t uc_lock; - rwlock_t uc_upcall_rwlock; - - char uc_name[40]; /* for upcall */ - char uc_upcall[UC_CACHE_UPCALL_MAXPATH]; - int uc_acquire_expire; /* seconds */ - int uc_entry_expire; /* seconds */ - struct upcall_cache_ops *uc_ops; -}; - -struct upcall_cache_entry *upcall_cache_get_entry(struct upcall_cache *cache, - __u64 key, void *args); -void upcall_cache_put_entry(struct upcall_cache *cache, - struct upcall_cache_entry *entry); -int upcall_cache_downcall(struct upcall_cache *cache, __u32 err, __u64 key, - void *args); -void upcall_cache_flush_idle(struct upcall_cache *cache); -void upcall_cache_flush_all(struct upcall_cache *cache); -void upcall_cache_flush_one(struct upcall_cache *cache, __u64 key, void *args); -struct upcall_cache *upcall_cache_init(const char *name, const char *upcall, - struct upcall_cache_ops *ops); -void upcall_cache_cleanup(struct upcall_cache *cache); - -#if 0 -struct upcall_cache_entry *upcall_cache_get_entry(struct upcall_cache *hash, - __u64 key, __u32 primary, - __u32 ngroups, __u32 *groups); -void upcall_cache_put_entry(struct upcall_cache *hash, - struct upcall_cache_entry *entry); -int upcall_cache_downcall(struct upcall_cache *hash, __u32 err, __u64 key, - __u32 primary, __u32 ngroups, __u32 *groups); -void upcall_cache_flush_idle(struct upcall_cache *cache); -void upcall_cache_flush_all(struct upcall_cache *cache); -struct upcall_cache *upcall_cache_init(const char *name); -void upcall_cache_cleanup(struct upcall_cache *hash); - -#endif - -/** @} ucache */ - -#endif /* _LUCACHE_H */ diff --git a/drivers/staging/lustre/include/linux/lnet/lib-lnet.h b/drivers/staging/lustre/include/linux/lnet/lib-lnet.h index 5e8ea222b49f..7e89b3be1a74 100644 --- a/drivers/staging/lustre/include/linux/lnet/lib-lnet.h +++ b/drivers/staging/lustre/include/linux/lnet/lib-lnet.h @@ -94,8 +94,8 @@ static inline int lnet_md_exhausted(lnet_libmd_t *md) static inline int lnet_md_unlinkable(lnet_libmd_t *md) { /* Should unlink md when its refcount is 0 and either: - * - md has been flagged for deletion (by auto unlink or LNetM[DE]Unlink, - * in the latter case md may not be exhausted). + * - md has been flagged for deletion (by auto unlink or + * LNetM[DE]Unlink, in the latter case md may not be exhausted). * - auto unlink is on and md is exhausted. */ if (md->md_refcount != 0) @@ -644,7 +644,8 @@ lnet_ni_t *lnet_net2ni_locked(__u32 net, int cpt); lnet_ni_t *lnet_net2ni(__u32 net); int lnet_notify(lnet_ni_t *ni, lnet_nid_t peer, int alive, unsigned long when); -void lnet_notify_locked(lnet_peer_t *lp, int notifylnd, int alive, unsigned long when); +void lnet_notify_locked(lnet_peer_t *lp, int notifylnd, int alive, + unsigned long when); int lnet_add_route(__u32 net, unsigned int hops, lnet_nid_t gateway_nid, unsigned int priority); int lnet_check_routes(void); @@ -791,8 +792,8 @@ lnet_copy_iov2flat(int dlen, void *dest, unsigned int doffset, static inline void lnet_copy_kiov2flat(int dlen, void *dest, unsigned int doffset, - unsigned int nsiov, lnet_kiov_t *skiov, unsigned int soffset, - unsigned int nob) + unsigned int nsiov, lnet_kiov_t *skiov, + unsigned int soffset, unsigned int nob) { struct iovec diov = {/* .iov_base = */ dest, /* .iov_len = */ dlen}; @@ -811,8 +812,9 @@ lnet_copy_flat2iov(unsigned int ndiov, struct iovec *diov, unsigned int doffset, } static inline void -lnet_copy_flat2kiov(unsigned int ndiov, lnet_kiov_t *dkiov, unsigned int doffset, - int slen, void *src, unsigned int soffset, unsigned int nob) +lnet_copy_flat2kiov(unsigned int ndiov, lnet_kiov_t *dkiov, + unsigned int doffset, int slen, void *src, + unsigned int soffset, unsigned int nob) { struct iovec siov = {/* .iov_base = */ src, /* .iov_len = */ slen}; |