diff options
Diffstat (limited to 'fs/ocfs2/stackglue.c')
| -rw-r--r-- | fs/ocfs2/stackglue.c | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/fs/ocfs2/stackglue.c b/fs/ocfs2/stackglue.c index 1324e6600e57..83f1a665ae97 100644 --- a/fs/ocfs2/stackglue.c +++ b/fs/ocfs2/stackglue.c | |||
| @@ -346,7 +346,9 @@ int ocfs2_cluster_connect(const char *stack_name, | |||
| 346 | 346 | ||
| 347 | strlcpy(new_conn->cc_name, group, GROUP_NAME_MAX + 1); | 347 | strlcpy(new_conn->cc_name, group, GROUP_NAME_MAX + 1); |
| 348 | new_conn->cc_namelen = grouplen; | 348 | new_conn->cc_namelen = grouplen; |
| 349 | strlcpy(new_conn->cc_cluster_name, cluster_name, CLUSTER_NAME_MAX + 1); | 349 | if (cluster_name_len) |
| 350 | strlcpy(new_conn->cc_cluster_name, cluster_name, | ||
| 351 | CLUSTER_NAME_MAX + 1); | ||
| 350 | new_conn->cc_cluster_name_len = cluster_name_len; | 352 | new_conn->cc_cluster_name_len = cluster_name_len; |
| 351 | new_conn->cc_recovery_handler = recovery_handler; | 353 | new_conn->cc_recovery_handler = recovery_handler; |
| 352 | new_conn->cc_recovery_data = recovery_data; | 354 | new_conn->cc_recovery_data = recovery_data; |
| @@ -494,7 +496,7 @@ static ssize_t ocfs2_max_locking_protocol_show(struct kobject *kobj, | |||
| 494 | } | 496 | } |
| 495 | 497 | ||
| 496 | static struct kobj_attribute ocfs2_attr_max_locking_protocol = | 498 | static struct kobj_attribute ocfs2_attr_max_locking_protocol = |
| 497 | __ATTR(max_locking_protocol, S_IFREG | S_IRUGO, | 499 | __ATTR(max_locking_protocol, S_IRUGO, |
| 498 | ocfs2_max_locking_protocol_show, NULL); | 500 | ocfs2_max_locking_protocol_show, NULL); |
| 499 | 501 | ||
| 500 | static ssize_t ocfs2_loaded_cluster_plugins_show(struct kobject *kobj, | 502 | static ssize_t ocfs2_loaded_cluster_plugins_show(struct kobject *kobj, |
| @@ -526,7 +528,7 @@ static ssize_t ocfs2_loaded_cluster_plugins_show(struct kobject *kobj, | |||
| 526 | } | 528 | } |
| 527 | 529 | ||
| 528 | static struct kobj_attribute ocfs2_attr_loaded_cluster_plugins = | 530 | static struct kobj_attribute ocfs2_attr_loaded_cluster_plugins = |
| 529 | __ATTR(loaded_cluster_plugins, S_IFREG | S_IRUGO, | 531 | __ATTR(loaded_cluster_plugins, S_IRUGO, |
| 530 | ocfs2_loaded_cluster_plugins_show, NULL); | 532 | ocfs2_loaded_cluster_plugins_show, NULL); |
| 531 | 533 | ||
| 532 | static ssize_t ocfs2_active_cluster_plugin_show(struct kobject *kobj, | 534 | static ssize_t ocfs2_active_cluster_plugin_show(struct kobject *kobj, |
| @@ -548,7 +550,7 @@ static ssize_t ocfs2_active_cluster_plugin_show(struct kobject *kobj, | |||
| 548 | } | 550 | } |
| 549 | 551 | ||
| 550 | static struct kobj_attribute ocfs2_attr_active_cluster_plugin = | 552 | static struct kobj_attribute ocfs2_attr_active_cluster_plugin = |
| 551 | __ATTR(active_cluster_plugin, S_IFREG | S_IRUGO, | 553 | __ATTR(active_cluster_plugin, S_IRUGO, |
| 552 | ocfs2_active_cluster_plugin_show, NULL); | 554 | ocfs2_active_cluster_plugin_show, NULL); |
| 553 | 555 | ||
| 554 | static ssize_t ocfs2_cluster_stack_show(struct kobject *kobj, | 556 | static ssize_t ocfs2_cluster_stack_show(struct kobject *kobj, |
| @@ -597,15 +599,29 @@ static ssize_t ocfs2_cluster_stack_store(struct kobject *kobj, | |||
| 597 | 599 | ||
| 598 | 600 | ||
| 599 | static struct kobj_attribute ocfs2_attr_cluster_stack = | 601 | static struct kobj_attribute ocfs2_attr_cluster_stack = |
| 600 | __ATTR(cluster_stack, S_IFREG | S_IRUGO | S_IWUSR, | 602 | __ATTR(cluster_stack, S_IRUGO | S_IWUSR, |
| 601 | ocfs2_cluster_stack_show, | 603 | ocfs2_cluster_stack_show, |
| 602 | ocfs2_cluster_stack_store); | 604 | ocfs2_cluster_stack_store); |
| 603 | 605 | ||
| 606 | |||
| 607 | |||
| 608 | static ssize_t ocfs2_dlm_recover_show(struct kobject *kobj, | ||
| 609 | struct kobj_attribute *attr, | ||
| 610 | char *buf) | ||
| 611 | { | ||
| 612 | return snprintf(buf, PAGE_SIZE, "1\n"); | ||
| 613 | } | ||
| 614 | |||
| 615 | static struct kobj_attribute ocfs2_attr_dlm_recover_support = | ||
| 616 | __ATTR(dlm_recover_callback_support, S_IRUGO, | ||
| 617 | ocfs2_dlm_recover_show, NULL); | ||
| 618 | |||
| 604 | static struct attribute *ocfs2_attrs[] = { | 619 | static struct attribute *ocfs2_attrs[] = { |
| 605 | &ocfs2_attr_max_locking_protocol.attr, | 620 | &ocfs2_attr_max_locking_protocol.attr, |
| 606 | &ocfs2_attr_loaded_cluster_plugins.attr, | 621 | &ocfs2_attr_loaded_cluster_plugins.attr, |
| 607 | &ocfs2_attr_active_cluster_plugin.attr, | 622 | &ocfs2_attr_active_cluster_plugin.attr, |
| 608 | &ocfs2_attr_cluster_stack.attr, | 623 | &ocfs2_attr_cluster_stack.attr, |
| 624 | &ocfs2_attr_dlm_recover_support.attr, | ||
| 609 | NULL, | 625 | NULL, |
| 610 | }; | 626 | }; |
| 611 | 627 | ||
