Viewing: fid_internal.h
/* SPDX-License-Identifier: GPL-2.0 */
/*
* 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/
*
* Author: Yury Umanets <umka@clusterfs.com>
*/
#ifndef __FID_INTERNAL_H
#define __FID_INTERNAL_H
#ifdef CONFIG_LUSTRE_FS_SERVER
# define HAVE_SEQ_SERVER
struct req_capsule;
struct seq_thread_info {
struct req_capsule *sti_pill;
struct lu_seq_range sti_space;
struct lu_buf sti_buf;
};
enum {
SEQ_TXN_STORE_CREDITS = 20
};
extern struct lu_context_key seq_thread_key;
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);
void seq_store_fini(struct lu_server_seq *seq,
const struct lu_env *env);
int seq_store_read(struct lu_server_seq *seq,
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 /* CONFIG_LUSTRE_FS_SERVER */
/* Functions used internally in module. */
int seq_client_alloc_super(struct lu_client_seq *seq,
const struct lu_env *env);
extern struct dentry *seq_debugfs_dir;
extern struct ldebugfs_vars seq_client_debugfs_list[];
extern const struct file_operations seq_fld_debugfs_seq_fops;
#endif /* __FID_INTERNAL_H */