X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ffid%2Ffid_internal.h;h=f006d81a750dd9547f6243d6a949d8f0331b2beb;hb=6712478e79588e73e28c7ccac3afc7ac2368a4f3;hp=12321ff7ff13ba0c6cee34ca61c19d6e90661abb;hpb=e903932500fc08b143467ce5a1c2702df35d8f0f;p=fs%2Flustre-release.git diff --git a/lustre/fid/fid_internal.h b/lustre/fid/fid_internal.h index 12321ff..f006d81 100644 --- a/lustre/fid/fid_internal.h +++ b/lustre/fid/fid_internal.h @@ -1,78 +1,98 @@ -/* -*- MODE: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: +/* + * GPL HEADER START * - * fid/fid_internal.h + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * Copyright (C) 2006 Cluster File Systems, Inc. - * Author: Yury Umanets + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 only, + * as published by the Free Software Foundation. * - * This file is part of the Lustre file system, http://www.lustre.org - * Lustre is a trademark of Cluster File Systems, Inc. + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License version 2 for more details (a copy is included + * in the LICENSE file that accompanied this code). * - * You may have signed or agreed to another license before downloading - * this software. If so, you are bound by the terms and conditions - * of that agreement, and the following does not apply to you. See the - * LICENSE file included with this distribution for more information. + * You should have received a copy of the GNU General Public License + * version 2 along with this program; If not, see + * http://www.gnu.org/licenses/gpl-2.0.html * - * If you did not agree to a different license, then this copy of Lustre - * is open source software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. + * GPL HEADER END + */ +/* + * 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/ + * Lustre is a trademark of Sun Microsystems, Inc. * - * In either case, Lustre is distributed in the hope that it will be - * useful, but WITHOUT ANY WARRANTY; without even the implied warranty - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * license text for more details. + * lustre/fid/fid_internal.h + * + * Author: Yury Umanets */ #ifndef __FID_INTERNAL_H #define __FID_INTERNAL_H -#include -#include - #include -#include +#ifdef HAVE_SERVER_SUPPORT +# define HAVE_SEQ_SERVER + +struct req_capsule; -#ifdef __KERNEL__ 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 CONFIG_PROC_FS +extern struct lprocfs_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); -#ifdef LPROCFS -extern struct lprocfs_vars seq_server_proc_list[]; -extern struct lprocfs_vars seq_client_proc_list[]; -#endif +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); -#endif +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 CONFIG_PROC_FS +extern struct lprocfs_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 */