X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre_lite.h;h=d03daabcac7a57970a47600339bb48a8819fc0d5;hb=3b2d496affc294e86744ab9b1c1014f0ce81bb3e;hp=2a578372003dc6a5ea05b4e87a170e186cb33815;hpb=bf6a881d8a2db5efad0312de4edb6199cc376665;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre_lite.h b/lustre/include/lustre_lite.h index 2a57837..d03daab 100644 --- a/lustre/include/lustre_lite.h +++ b/lustre/include/lustre_lite.h @@ -1,6 +1,4 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * +/* * GPL HEADER START * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -26,8 +24,10 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. + * + * Copyright (c) 2011, 2012, Whamcloud, Inc. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -37,6 +37,11 @@ #ifndef _LL_H #define _LL_H +/** \defgroup lite lite + * + * @{ + */ + #if defined(__linux__) #include #elif defined(__APPLE__) @@ -53,13 +58,6 @@ #include #include -#ifdef __KERNEL__ - -/* careful, this is easy to screw up */ -#define PAGE_CACHE_MAXBYTES ((__u64)(~0UL) << CFS_PAGE_SHIFT) - -#endif - /* 4UL * 1024 * 1024 */ #define LL_MAX_BLKSIZE_BITS (22) #define LL_MAX_BLKSIZE (1UL<lco_lock. */ - __u64 lco_flags; - spinlock_t lco_lock; + __u64 lco_flags; + cfs_mutex_t lco_lock; + struct obd_export *lco_md_exp; + struct obd_export *lco_dt_exp; }; /* - * This function is used as an upcall-callback hooked by liblustre and llite - * clients into obd_notify() listeners chain to handle notifications about - * change of import connect_flags. See llu_fsswop_mount() and - * lustre_common_fill_super(). - * - * Again, it is dumped into this header for the lack of a better place. - */ -static inline int ll_ocd_update(struct obd_device *host, - struct obd_device *watched, - enum obd_notify_event ev, void *owner) -{ - struct lustre_client_ocd *lco; - struct client_obd *cli; - __u64 flags; - int result; - - ENTRY; - if (!strcmp(watched->obd_type->typ_name, LUSTRE_OSC_NAME)) { - cli = &watched->u.cli; - lco = owner; - flags = cli->cl_import->imp_connect_data.ocd_connect_flags; - CDEBUG(D_SUPER, "Changing connect_flags: "LPX64" -> "LPX64"\n", - lco->lco_flags, flags); - spin_lock(&lco->lco_lock); - lco->lco_flags &= flags; - spin_unlock(&lco->lco_lock); - result = 0; - } else { - CERROR("unexpected notification from %s %s!\n", - watched->obd_type->typ_name, - watched->obd_name); - result = -EINVAL; - } - RETURN(result); -} - -/* * Chain of hash overflow pages. - */ + */ struct ll_dir_chain { /* XXX something. Later */ }; - + static inline void ll_dir_chain_init(struct ll_dir_chain *chain) -{ +{ } static inline void ll_dir_chain_fini(struct ll_dir_chain *chain) { } -static inline __u32 hash_x_index(__u32 value) +static inline unsigned long hash_x_index(__u64 hash, int hash64) { - return ((__u32)~0) - value; +#ifdef __KERNEL__ + if (BITS_PER_LONG == 32 && hash64) + hash >>= 32; +#endif + return ~0UL - hash; } + +/** @} lite */ + #endif