1 /* -*- MODE: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2 * vim:expandtab:shiftwidth=8:tabstop=8:
6 * Copyright (C) 2006 Cluster File Systems, Inc.
7 * Author: Yury Umanets <umka@clusterfs.com>
9 * This file is part of the Lustre file system, http://www.lustre.org
10 * Lustre is a trademark of Cluster File Systems, Inc.
12 * You may have signed or agreed to another license before downloading
13 * this software. If so, you are bound by the terms and conditions
14 * of that agreement, and the following does not apply to you. See the
15 * LICENSE file included with this distribution for more information.
17 * If you did not agree to a different license, then this copy of Lustre
18 * is open source software; you can redistribute it and/or modify it
19 * under the terms of version 2 of the GNU General Public License as
20 * published by the Free Software Foundation.
22 * In either case, Lustre is distributed in the hope that it will be
23 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
24 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * license text for more details.
27 #ifndef __FID_INTERNAL_H
28 #define __FID_INTERNAL_H
30 #include <lustre/lustre_idl.h>
31 #include <dt_object.h>
33 #include <libcfs/list.h>
34 #include <libcfs/kp30.h>
36 #include <linux/types.h>
39 struct seq_thread_info {
40 struct req_capsule *sti_pill;
41 struct txn_param sti_txn;
42 struct lu_range sti_space;
43 struct lu_buf sti_buf;
46 extern struct lu_context_key seq_thread_key;
48 /* Functions used internally in module. */
49 int seq_client_alloc_super(struct lu_client_seq *seq,
50 const struct lu_env *env);
52 int seq_client_replay_super(struct lu_client_seq *seq,
53 struct lu_range *range,
54 const struct lu_env *env);
56 /* Store API functions. */
57 int seq_store_init(struct lu_server_seq *seq,
58 const struct lu_env *env,
59 struct dt_device *dt);
61 void seq_store_fini(struct lu_server_seq *seq,
62 const struct lu_env *env);
64 int seq_store_write(struct lu_server_seq *seq,
65 const struct lu_env *env);
67 int seq_store_read(struct lu_server_seq *seq,
68 const struct lu_env *env);
71 extern struct lprocfs_vars seq_server_proc_list[];
72 extern struct lprocfs_vars seq_client_proc_list[];
77 extern cfs_proc_dir_entry_t *seq_type_proc_dir;
79 #endif /* __FID_INTERNAL_H */