X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ffid%2Ffid_internal.h;h=f8539d8414d865713c9847ff96467f37b57d4c36;hb=3f4ca2cb52dc9c88c8061d8b907b6f793d604f6c;hp=2aec259765fdb8dbc2c20d9bc4979bff155d4bfa;hpb=adde80ffefe375e113c0e4a2a5f8e37519205b5c;p=fs%2Flustre-release.git diff --git a/lustre/fid/fid_internal.h b/lustre/fid/fid_internal.h index 2aec259..f8539d8 100644 --- a/lustre/fid/fid_internal.h +++ b/lustre/fid/fid_internal.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. @@ -16,8 +14,8 @@ * 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 [sun.com URL with a - * copy of GPLv2]. + * 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 @@ -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) 2012, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -41,49 +41,63 @@ #define __FID_INTERNAL_H #include -#include - #include -#ifdef __KERNEL__ +#ifdef HAVE_SERVER_SUPPORT +# define HAVE_SEQ_SERVER + +struct req_capsule; + struct seq_thread_info { struct req_capsule *sti_pill; - struct txn_param sti_txn; - struct lu_range sti_space; + struct lu_seq_range sti_space; struct lu_buf sti_buf; }; -extern struct lu_context_key seq_thread_key; +enum { + SEQ_TXN_STORE_CREDITS = 20 +}; -/* Functions used internally in module. */ -int seq_client_alloc_super(struct lu_client_seq *seq, - const struct lu_env *env); +extern struct lu_context_key seq_thread_key; -int seq_client_replay_super(struct lu_client_seq *seq, - struct lu_range *range, - const struct lu_env *env); +# ifdef LPROCFS +extern struct lprocfs_seq_vars seq_server_proc_list[]; +# endif /* Store API functions. */ +struct dt_device; + int seq_store_init(struct lu_server_seq *seq, - const struct lu_env *env, - struct dt_device *dt); + const struct lu_env *env, + struct dt_device *dt); void seq_store_fini(struct lu_server_seq *seq, - const struct lu_env *env); - -int seq_store_write(struct lu_server_seq *seq, - const struct lu_env *env); + const struct lu_env *env); int seq_store_read(struct lu_server_seq *seq, - const struct lu_env *env); + const struct lu_env *env); + +int seq_store_update(const struct lu_env *env, struct lu_server_seq *seq, + struct lu_seq_range *out, int sync); + +int seq_server_alloc_spec(struct lu_server_seq *seq, + struct lu_seq_range *spec, + const struct lu_env *env); -#ifdef LPROCFS -extern struct lprocfs_vars seq_server_proc_list[]; -extern struct lprocfs_vars seq_client_proc_list[]; -#endif +int fid_server_mod_init(void); + +void fid_server_mod_exit(void); + +# endif /* HAVE_SERVER_SUPPORT */ + +/* Functions used internally in module. */ +int seq_client_alloc_super(struct lu_client_seq *seq, + const struct lu_env *env); -#endif +# ifdef LPROCFS +extern struct lprocfs_seq_vars seq_client_proc_list[]; +# endif -extern cfs_proc_dir_entry_t *seq_type_proc_dir; +extern struct proc_dir_entry *seq_type_proc_dir; #endif /* __FID_INTERNAL_H */