fid_internal.h revision d7e09d0397e84eefbabfd9cb353221f3c6448d83
1/* 2 * GPL HEADER START 3 * 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 only, 8 * as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, but 11 * WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * General Public License version 2 for more details (a copy is included 14 * in the LICENSE file that accompanied this code). 15 * 16 * You should have received a copy of the GNU General Public License 17 * version 2 along with this program; If not, see 18 * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf 19 * 20 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 21 * CA 95054 USA or visit www.sun.com if you need additional information or 22 * have any questions. 23 * 24 * GPL HEADER END 25 */ 26/* 27 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 28 * Use is subject to license terms. 29 * 30 * Copyright (c) 2012, Intel Corporation. 31 */ 32/* 33 * This file is part of Lustre, http://www.lustre.org/ 34 * Lustre is a trademark of Sun Microsystems, Inc. 35 * 36 * lustre/fid/fid_internal.h 37 * 38 * Author: Yury Umanets <umka@clusterfs.com> 39 */ 40#ifndef __FID_INTERNAL_H 41#define __FID_INTERNAL_H 42 43#include <lustre/lustre_idl.h> 44#include <dt_object.h> 45 46#include <linux/libcfs/libcfs.h> 47 48struct seq_thread_info { 49 struct req_capsule *sti_pill; 50 struct lu_seq_range sti_space; 51 struct lu_buf sti_buf; 52}; 53 54enum { 55 SEQ_TXN_STORE_CREDITS = 20 56}; 57 58extern struct lu_context_key seq_thread_key; 59 60/* Functions used internally in module. */ 61int seq_client_alloc_super(struct lu_client_seq *seq, 62 const struct lu_env *env); 63 64/* Store API functions. */ 65int seq_store_init(struct lu_server_seq *seq, 66 const struct lu_env *env, 67 struct dt_device *dt); 68 69void seq_store_fini(struct lu_server_seq *seq, 70 const struct lu_env *env); 71 72int seq_store_read(struct lu_server_seq *seq, 73 const struct lu_env *env); 74 75int seq_store_update(const struct lu_env *env, struct lu_server_seq *seq, 76 struct lu_seq_range *out, int sync); 77 78#ifdef LPROCFS 79extern struct lprocfs_vars seq_server_proc_list[]; 80extern struct lprocfs_vars seq_client_proc_list[]; 81#endif 82 83 84extern proc_dir_entry_t *seq_type_proc_dir; 85 86#endif /* __FID_INTERNAL_H */ 87