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 txn_param sti_txn;
41 struct req_capsule sti_pill;
42 struct lu_range sti_space;
43 int sti_rep_buf_size[REQ_MAX_FIELD_NR];
44 struct lu_buf sti_buf;
47 extern struct lu_context_key seq_thread_key;
49 /* Functions used internally in module. */
50 int seq_client_alloc_super(struct lu_client_seq *seq,
51 const struct lu_env *env);
53 int seq_client_replay_super(struct lu_client_seq *seq,
54 struct lu_range *range,
55 const struct lu_env *env);
57 /* Store API functions. */
58 int seq_store_init(struct lu_server_seq *seq,
59 const struct lu_env *env,
60 struct dt_device *dt);
62 void seq_store_fini(struct lu_server_seq *seq,
63 const struct lu_env *env);
65 int seq_store_write(struct lu_server_seq *seq,
66 const struct lu_env *env);
68 int seq_store_read(struct lu_server_seq *seq,
69 const struct lu_env *env);
72 extern struct lprocfs_vars seq_server_proc_list[];
73 extern struct lprocfs_vars seq_client_proc_list[];
78 extern cfs_proc_dir_entry_t *seq_type_proc_dir;
80 #endif /* __FID_INTERNAL_H */