]>
Commit | Line | Data |
---|---|---|
d7e09d03 PT |
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/include/obd_ost.h | |
37 | * | |
38 | * Data structures for object storage targets and client: OST & OSC's | |
39 | * | |
40 | * See also lustre_idl.h for wire formats of requests. | |
41 | */ | |
42 | ||
43 | #ifndef _LUSTRE_OST_H | |
44 | #define _LUSTRE_OST_H | |
45 | ||
1accaadf | 46 | #include "obd_class.h" |
d7e09d03 PT |
47 | |
48 | struct osc_brw_async_args { | |
49 | struct obdo *aa_oa; | |
50 | int aa_requested_nob; | |
51 | int aa_nio_count; | |
21aef7d9 | 52 | u32 aa_page_count; |
d7e09d03 PT |
53 | int aa_resends; |
54 | struct brw_page **aa_ppga; | |
55 | struct client_obd *aa_cli; | |
56 | struct list_head aa_oaps; | |
57 | struct list_head aa_exts; | |
58 | struct obd_capa *aa_ocapa; | |
59 | struct cl_req *aa_clerq; | |
60 | }; | |
61 | ||
62 | #define osc_grant_args osc_brw_async_args | |
63 | struct osc_async_args { | |
64 | struct obd_info *aa_oi; | |
65 | }; | |
66 | ||
67 | struct osc_setattr_args { | |
68 | struct obdo *sa_oa; | |
69 | obd_enqueue_update_f sa_upcall; | |
70 | void *sa_cookie; | |
71 | }; | |
72 | ||
73 | struct osc_fsync_args { | |
74 | struct obd_info *fa_oi; | |
75 | obd_enqueue_update_f fa_upcall; | |
76 | void *fa_cookie; | |
77 | }; | |
78 | ||
79 | struct osc_enqueue_args { | |
80 | struct obd_export *oa_exp; | |
81 | __u64 *oa_flags; | |
82 | obd_enqueue_update_f oa_upcall; | |
83 | void *oa_cookie; | |
84 | struct ost_lvb *oa_lvb; | |
85 | struct lustre_handle *oa_lockh; | |
86 | struct ldlm_enqueue_info *oa_ei; | |
87 | unsigned int oa_agl:1; | |
88 | }; | |
89 | ||
875332d4 DE |
90 | extern void osc_update_enqueue(struct lustre_handle *lov_lockhp, |
91 | struct lov_oinfo *loi, __u64 flags, | |
92 | struct ost_lvb *lvb, __u32 mode, int rc); | |
93 | ||
d7e09d03 PT |
94 | #if 0 |
95 | int osc_extent_blocking_cb(struct ldlm_lock *lock, | |
96 | struct ldlm_lock_desc *new, void *data, | |
97 | int flag); | |
98 | #endif | |
99 | ||
100 | #endif |