ocfs2: Pass the locking protocol into ocfs2_cluster_connect().
Inside the stackglue, the locking protocol structure is hanging off of the ocfs2_cluster_connection. This takes it one further; the locking protocol is passed into ocfs2_cluster_connect(). Now different cluster connections can have different locking protocols with distinct asts. Note that all locking protocols have to keep their maximum protocol version in lock-step. With the protocol structure set in ocfs2_cluster_connect(), there is no need for the stackglue to have a static pointer to a specific protocol structure. We can change initialization to only pass in the maximum protocol version. Signed-off-by: Joel Becker <joel.becker@oracle.com>
This commit is contained in:
@@ -241,6 +241,7 @@ struct ocfs2_stack_plugin {
|
||||
int ocfs2_cluster_connect(const char *stack_name,
|
||||
const char *group,
|
||||
int grouplen,
|
||||
struct ocfs2_locking_protocol *lproto,
|
||||
void (*recovery_handler)(int node_num,
|
||||
void *recovery_data),
|
||||
void *recovery_data,
|
||||
@@ -270,7 +271,7 @@ int ocfs2_stack_supports_plocks(void);
|
||||
int ocfs2_plock(struct ocfs2_cluster_connection *conn, u64 ino,
|
||||
struct file *file, int cmd, struct file_lock *fl);
|
||||
|
||||
void ocfs2_stack_glue_set_locking_protocol(struct ocfs2_locking_protocol *proto);
|
||||
void ocfs2_stack_glue_set_max_proto_version(struct ocfs2_protocol_version *max_proto);
|
||||
|
||||
|
||||
/* Used by stack plugins */
|
||||
|
Reference in New Issue
Block a user