diff options
Diffstat (limited to 'fs/ocfs2/stackglue.h')
-rw-r--r-- | fs/ocfs2/stackglue.h | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/fs/ocfs2/stackglue.h b/fs/ocfs2/stackglue.h index 03a44d60eac9..d699117fb851 100644 --- a/fs/ocfs2/stackglue.h +++ b/fs/ocfs2/stackglue.h | |||
@@ -56,17 +56,6 @@ struct ocfs2_protocol_version { | |||
56 | }; | 56 | }; |
57 | 57 | ||
58 | /* | 58 | /* |
59 | * The ocfs2_locking_protocol defines the handlers called on ocfs2's behalf. | ||
60 | */ | ||
61 | struct ocfs2_locking_protocol { | ||
62 | struct ocfs2_protocol_version lp_max_version; | ||
63 | void (*lp_lock_ast)(void *astarg); | ||
64 | void (*lp_blocking_ast)(void *astarg, int level); | ||
65 | void (*lp_unlock_ast)(void *astarg, int error); | ||
66 | }; | ||
67 | |||
68 | |||
69 | /* | ||
70 | * The dlm_lockstatus struct includes lvb space, but the dlm_lksb struct only | 59 | * The dlm_lockstatus struct includes lvb space, but the dlm_lksb struct only |
71 | * has a pointer to separately allocated lvb space. This struct exists only to | 60 | * has a pointer to separately allocated lvb space. This struct exists only to |
72 | * include in the lksb union to make space for a combined dlm_lksb and lvb. | 61 | * include in the lksb union to make space for a combined dlm_lksb and lvb. |
@@ -88,6 +77,17 @@ union ocfs2_dlm_lksb { | |||
88 | }; | 77 | }; |
89 | 78 | ||
90 | /* | 79 | /* |
80 | * The ocfs2_locking_protocol defines the handlers called on ocfs2's behalf. | ||
81 | */ | ||
82 | struct ocfs2_locking_protocol { | ||
83 | struct ocfs2_protocol_version lp_max_version; | ||
84 | void (*lp_lock_ast)(union ocfs2_dlm_lksb *lksb); | ||
85 | void (*lp_blocking_ast)(union ocfs2_dlm_lksb *lksb, int level); | ||
86 | void (*lp_unlock_ast)(union ocfs2_dlm_lksb *lksb, int error); | ||
87 | }; | ||
88 | |||
89 | |||
90 | /* | ||
91 | * A cluster connection. Mostly opaque to ocfs2, the connection holds | 91 | * A cluster connection. Mostly opaque to ocfs2, the connection holds |
92 | * state for the underlying stack. ocfs2 does use cc_version to determine | 92 | * state for the underlying stack. ocfs2 does use cc_version to determine |
93 | * locking compatibility. | 93 | * locking compatibility. |
@@ -155,27 +155,29 @@ struct ocfs2_stack_operations { | |||
155 | * | 155 | * |
156 | * ast and bast functions are not part of the call because the | 156 | * ast and bast functions are not part of the call because the |
157 | * stack will likely want to wrap ast and bast calls before passing | 157 | * stack will likely want to wrap ast and bast calls before passing |
158 | * them to stack->sp_proto. | 158 | * them to stack->sp_proto. There is no astarg. The lksb will |
159 | * be passed back to the ast and bast functions. The caller can | ||
160 | * use this to find their object. | ||
159 | */ | 161 | */ |
160 | int (*dlm_lock)(struct ocfs2_cluster_connection *conn, | 162 | int (*dlm_lock)(struct ocfs2_cluster_connection *conn, |
161 | int mode, | 163 | int mode, |
162 | union ocfs2_dlm_lksb *lksb, | 164 | union ocfs2_dlm_lksb *lksb, |
163 | u32 flags, | 165 | u32 flags, |
164 | void *name, | 166 | void *name, |
165 | unsigned int namelen, | 167 | unsigned int namelen); |
166 | void *astarg); | ||
167 | 168 | ||
168 | /* | 169 | /* |
169 | * Call the underlying dlm unlock function. The ->dlm_unlock() | 170 | * Call the underlying dlm unlock function. The ->dlm_unlock() |
170 | * function should convert the flags as appropriate. | 171 | * function should convert the flags as appropriate. |
171 | * | 172 | * |
172 | * The unlock ast is not passed, as the stack will want to wrap | 173 | * The unlock ast is not passed, as the stack will want to wrap |
173 | * it before calling stack->sp_proto->lp_unlock_ast(). | 174 | * it before calling stack->sp_proto->lp_unlock_ast(). There is |
175 | * no astarg. The lksb will be passed back to the unlock ast | ||
176 | * function. The caller can use this to find their object. | ||
174 | */ | 177 | */ |
175 | int (*dlm_unlock)(struct ocfs2_cluster_connection *conn, | 178 | int (*dlm_unlock)(struct ocfs2_cluster_connection *conn, |
176 | union ocfs2_dlm_lksb *lksb, | 179 | union ocfs2_dlm_lksb *lksb, |
177 | u32 flags, | 180 | u32 flags); |
178 | void *astarg); | ||
179 | 181 | ||
180 | /* | 182 | /* |
181 | * Return the status of the current lock status block. The fs | 183 | * Return the status of the current lock status block. The fs |
@@ -249,12 +251,10 @@ int ocfs2_dlm_lock(struct ocfs2_cluster_connection *conn, | |||
249 | union ocfs2_dlm_lksb *lksb, | 251 | union ocfs2_dlm_lksb *lksb, |
250 | u32 flags, | 252 | u32 flags, |
251 | void *name, | 253 | void *name, |
252 | unsigned int namelen, | 254 | unsigned int namelen); |
253 | struct ocfs2_lock_res *astarg); | ||
254 | int ocfs2_dlm_unlock(struct ocfs2_cluster_connection *conn, | 255 | int ocfs2_dlm_unlock(struct ocfs2_cluster_connection *conn, |
255 | union ocfs2_dlm_lksb *lksb, | 256 | union ocfs2_dlm_lksb *lksb, |
256 | u32 flags, | 257 | u32 flags); |
257 | struct ocfs2_lock_res *astarg); | ||
258 | 258 | ||
259 | int ocfs2_dlm_lock_status(union ocfs2_dlm_lksb *lksb); | 259 | int ocfs2_dlm_lock_status(union ocfs2_dlm_lksb *lksb); |
260 | int ocfs2_dlm_lvb_valid(union ocfs2_dlm_lksb *lksb); | 260 | int ocfs2_dlm_lvb_valid(union ocfs2_dlm_lksb *lksb); |