X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flustre_lite.h;h=573841c677e2412a1d086b5197a12003b8b93b61;hp=e4e8ee856f5321834d5c6930a4b07cc8233d22f0;hb=0347ad57ee875b730c3ec0da203857a5c86fc394;hpb=113303973ec9f8484eb2355a1a6ef3c4c7fd6a56 diff --git a/lustre/include/lustre_lite.h b/lustre/include/lustre_lite.h index e4e8ee8..573841c 100644 --- a/lustre/include/lustre_lite.h +++ b/lustre/include/lustre_lite.h @@ -1,10 +1,47 @@ -/* -*- 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. + * + * 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) 2011, 2012, Intel Corporation. + */ +/* + * This file is part of Lustre, http://www.lustre.org/ + * Lustre is a trademark of Sun Microsystems, Inc. */ #ifndef _LL_H #define _LL_H +/** \defgroup lite lite + * + * @{ + */ + #if defined(__linux__) #include #elif defined(__APPLE__) @@ -21,18 +58,7 @@ #include #include -#ifdef __KERNEL__ - -/* careful, this is easy to screw up */ -#define PAGE_CACHE_MAXBYTES ((__u64)(~0UL) << CFS_PAGE_SHIFT) - -#endif - -#define LLAP_FROM_COOKIE(c) \ - (LASSERT(((struct ll_async_page *)(c))->llap_magic == LLAP_MAGIC), \ - (struct ll_async_page *)(c)) - -// 4*1024*1024 +/* 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. + * Chain of hash overflow pages. */ -static inline int ll_ocd_update(struct obd_device *host, - struct obd_device *watched, - enum obd_notify_event ev, void *owner) +struct ll_dir_chain { + /* XXX something. Later */ +}; + +static inline void ll_dir_chain_init(struct ll_dir_chain *chain) { - 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); } +static inline void ll_dir_chain_fini(struct ll_dir_chain *chain) +{ +} + +/** @} lite */ + #endif