X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=lustre%2Ffid%2Ffid_internal.h;h=4be0f04cb19b765d8834d2da9646f9958899613d;hb=cca45ad8aeaa8e124e9e48361bf7cff89a035f82;hp=9137656847eeccd4d31ecc17713d458f86dfaf05;hpb=6869932b552ac705f411de3362f01bd50c1f6f7d;p=fs%2Flustre-release.git diff --git a/lustre/fid/fid_internal.h b/lustre/fid/fid_internal.h index 9137656..4be0f04 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. @@ -17,17 +15,15 @@ * * 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. + * http://www.gnu.org/licenses/gpl-2.0.html * * 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, 2014, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -40,50 +36,61 @@ #ifndef __FID_INTERNAL_H #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); +extern struct ldebugfs_vars seq_server_debugfs_list[]; /* 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); + +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); -#ifdef LPROCFS -extern struct lprocfs_vars seq_server_proc_list[]; -extern struct lprocfs_vars seq_client_proc_list[]; -#endif +extern struct dentry *seq_debugfs_dir; -#endif +extern struct ldebugfs_vars seq_client_debugfs_list[]; -extern cfs_proc_dir_entry_t *seq_type_proc_dir; +extern const struct file_operations seq_fld_debugfs_seq_fops; #endif /* __FID_INTERNAL_H */