]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dlm: use dlm_config as only cluster configuration
authorAlexander Aring <aahringo@redhat.com>
Fri, 4 Oct 2024 15:13:41 +0000 (11:13 -0400)
committerDavid Teigland <teigland@redhat.com>
Fri, 4 Oct 2024 15:31:31 +0000 (10:31 -0500)
This patch removes the configfs storage fields from the dlm_cluster
structure to store per cluster values. Those fields also exists for the
dlm_config global variable and get stored in both when setting configfs
values. To read values it will always be read out from the dlm_cluster
configfs structure but this patch changes it to only use the global
dlm_config variable. Storing them in two places makes no sense as both
are able to be changed under certain conditions during DLM runtime.

Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
fs/dlm/config.c

index 42dcf3f066680de03d43812ea8b7f0ee5ec0bb57..ff18c7ace611b5ddb66757542adb50764a312a2e 100644 (file)
@@ -73,20 +73,6 @@ const struct rhashtable_params dlm_rhash_rsb_params = {
 
 struct dlm_cluster {
        struct config_group group;
-       __be16 cl_tcp_port;
-       unsigned int cl_buffer_size;
-       unsigned int cl_rsbtbl_size;
-       unsigned int cl_recover_timer;
-       unsigned int cl_toss_secs;
-       unsigned int cl_scan_secs;
-       unsigned int cl_log_debug;
-       unsigned int cl_log_info;
-       unsigned int cl_protocol;
-       unsigned int cl_mark;
-       unsigned int cl_new_rsb_count;
-       unsigned int cl_recover_callbacks;
-       char cl_cluster_name[DLM_LOCKSPACE_LEN];
-
        struct dlm_spaces *sps;
        struct dlm_comms *cms;
 };
@@ -115,18 +101,14 @@ enum {
 
 static ssize_t cluster_cluster_name_show(struct config_item *item, char *buf)
 {
-       struct dlm_cluster *cl = config_item_to_cluster(item);
-       return sprintf(buf, "%s\n", cl->cl_cluster_name);
+       return sprintf(buf, "%s\n", dlm_config.ci_cluster_name);
 }
 
 static ssize_t cluster_cluster_name_store(struct config_item *item,
                                          const char *buf, size_t len)
 {
-       struct dlm_cluster *cl = config_item_to_cluster(item);
-
        strscpy(dlm_config.ci_cluster_name, buf,
-                               sizeof(dlm_config.ci_cluster_name));
-       strscpy(cl->cl_cluster_name, buf, sizeof(cl->cl_cluster_name));
+               sizeof(dlm_config.ci_cluster_name));
        return len;
 }
 
@@ -171,8 +153,7 @@ static ssize_t cluster_tcp_port_store(struct config_item *item,
 
 CONFIGFS_ATTR(cluster_, tcp_port);
 
-static ssize_t cluster_set(struct dlm_cluster *cl, unsigned int *cl_field,
-                          int *info_field, int (*check_cb)(unsigned int x),
+static ssize_t cluster_set(int *info_field, int (*check_cb)(unsigned int x),
                           const char *buf, size_t len)
 {
        unsigned int x;
@@ -190,7 +171,6 @@ static ssize_t cluster_set(struct dlm_cluster *cl, unsigned int *cl_field,
                        return rc;
        }
 
-       *cl_field = x;
        *info_field = x;
 
        return len;
@@ -200,14 +180,11 @@ static ssize_t cluster_set(struct dlm_cluster *cl, unsigned int *cl_field,
 static ssize_t cluster_##name##_store(struct config_item *item, \
                const char *buf, size_t len) \
 {                                                                             \
-       struct dlm_cluster *cl = config_item_to_cluster(item);                \
-       return cluster_set(cl, &cl->cl_##name, &dlm_config.ci_##name,         \
-                          check_cb, buf, len);                               \
+       return cluster_set(&dlm_config.ci_##name, check_cb, buf, len);        \
 }                                                                             \
 static ssize_t cluster_##name##_show(struct config_item *item, char *buf)     \
 {                                                                             \
-       struct dlm_cluster *cl = config_item_to_cluster(item);                \
-       return snprintf(buf, PAGE_SIZE, "%u\n", cl->cl_##name);               \
+       return snprintf(buf, PAGE_SIZE, "%u\n", dlm_config.ci_##name);        \
 }                                                                             \
 CONFIGFS_ATTR(cluster_, name);
 
@@ -450,20 +427,6 @@ static struct config_group *make_cluster(struct config_group *g,
        configfs_add_default_group(&sps->ss_group, &cl->group);
        configfs_add_default_group(&cms->cs_group, &cl->group);
 
-       cl->cl_tcp_port = dlm_config.ci_tcp_port;
-       cl->cl_buffer_size = dlm_config.ci_buffer_size;
-       cl->cl_rsbtbl_size = dlm_config.ci_rsbtbl_size;
-       cl->cl_recover_timer = dlm_config.ci_recover_timer;
-       cl->cl_toss_secs = dlm_config.ci_toss_secs;
-       cl->cl_scan_secs = dlm_config.ci_scan_secs;
-       cl->cl_log_debug = dlm_config.ci_log_debug;
-       cl->cl_log_info = dlm_config.ci_log_info;
-       cl->cl_protocol = dlm_config.ci_protocol;
-       cl->cl_new_rsb_count = dlm_config.ci_new_rsb_count;
-       cl->cl_recover_callbacks = dlm_config.ci_recover_callbacks;
-       memcpy(cl->cl_cluster_name, dlm_config.ci_cluster_name,
-              DLM_LOCKSPACE_LEN);
-
        space_list = &sps->ss_group;
        comm_list = &cms->cs_group;
        return &cl->group;