]> Pileus Git - ~andy/linux/blobdiff - fs/ocfs2/stackglue.c
ocfs2: add clustername to cluster connection
[~andy/linux] / fs / ocfs2 / stackglue.c
index cb7ec0b63ddc503939888d153c0b9617400d52f7..6537979b8ac4754af478b1e75b88564706344f48 100644 (file)
@@ -309,6 +309,8 @@ int ocfs2_plock(struct ocfs2_cluster_connection *conn, u64 ino,
 EXPORT_SYMBOL_GPL(ocfs2_plock);
 
 int ocfs2_cluster_connect(const char *stack_name,
+                         const char *cluster_name,
+                         int cluster_name_len,
                          const char *group,
                          int grouplen,
                          struct ocfs2_locking_protocol *lproto,
@@ -342,8 +344,10 @@ int ocfs2_cluster_connect(const char *stack_name,
                goto out;
        }
 
-       memcpy(new_conn->cc_name, group, grouplen);
+       strlcpy(new_conn->cc_name, group, GROUP_NAME_MAX + 1);
        new_conn->cc_namelen = grouplen;
+       strlcpy(new_conn->cc_cluster_name, cluster_name, CLUSTER_NAME_MAX + 1);
+       new_conn->cc_cluster_name_len = cluster_name_len;
        new_conn->cc_recovery_handler = recovery_handler;
        new_conn->cc_recovery_data = recovery_data;
 
@@ -386,8 +390,9 @@ int ocfs2_cluster_connect_agnostic(const char *group,
 
        if (cluster_stack_name[0])
                stack_name = cluster_stack_name;
-       return ocfs2_cluster_connect(stack_name, group, grouplen, lproto,
-                                    recovery_handler, recovery_data, conn);
+       return ocfs2_cluster_connect(stack_name, NULL, 0, group, grouplen,
+                                    lproto, recovery_handler, recovery_data,
+                                    conn);
 }
 EXPORT_SYMBOL_GPL(ocfs2_cluster_connect_agnostic);