X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre_lite.h;h=4a88dd49600a5e56783f4429087cadb4b77ab7e7;hb=1e149bef8d832aade6c04b65b8308b71c6d523ed;hp=34bb9f13d572a35342778f54ad05a97d022cf739;hpb=fbf5870b9848929d352460f1f005b79c0b5ccc5a;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre_lite.h b/lustre/include/lustre_lite.h index 34bb9f1..4a88dd4 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, Intel Corporation. */ /* * 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; + struct mutex 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. */ @@ -180,8 +143,15 @@ 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