[Ocfs2-tools-devel] [PATCH 22/39] ocfs2_controld.cman: Prefix group
names with 'ocfs2:'
Joel Becker
joel.becker at oracle.com
Fri Mar 14 16:52:45 PDT 2008
To distinguish our CPG groups from other processes, prefix all groups
with 'ocfs2:'. The control daemon group is now "ocfs2:controld", and
filesystem groups will be "ocfs2:<uuid>"
Signed-off-by: Joel Becker <joel.becker at oracle.com>
---
ocfs2_controld/cpg.c | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/ocfs2_controld/cpg.c b/ocfs2_controld/cpg.c
index 3423a43..7cd22ea 100644
--- a/ocfs2_controld/cpg.c
+++ b/ocfs2_controld/cpg.c
@@ -303,7 +303,7 @@ static void handle_node_leave(struct cpg_address *addr,
static void group_change(struct cgroup *cg)
{
- log_debug("group %.*s confchg: members %d, left %d, joined %d",
+ log_debug("group \"%.*s\" confchg: members %d, left %d, joined %d",
cg->cg_name.length, cg->cg_name.value,
cg->cg_cb_member_count, cg->cg_cb_left_count,
cg->cg_cb_joined_count);
@@ -388,7 +388,8 @@ static void daemon_change(struct cgroup *cg)
{
int i, found = 0;
- log_debug("ocfs2_controld confchg: members %d, left %d, joined %d",
+ log_debug("ocfs2_controld (group \"%.*s\") confchg: members %d, left %d, joined %d",
+ cg->cg_name.length, cg->cg_name.value,
cg->cg_cb_member_count, cg->cg_cb_left_count,
cg->cg_cb_joined_count);
@@ -579,6 +580,8 @@ static int start_join(struct cgroup *cg)
{
cpg_error_t error;
+ log_debug("Starting join for group \"%.*s\"",
+ cg->cg_name.length, cg->cg_name.value);
do {
error = cpg_join(cg->cg_handle, &cg->cg_name);
if (error == CPG_OK) {
@@ -602,8 +605,8 @@ static int start_leave(struct cgroup *cg)
if (!cg->cg_handle)
return -EINVAL;
- log_debug("leaving group %.*s", cg->cg_name.length,
- cg->cg_name.value);
+ log_debug("leaving group \"%.*s\"",
+ cg->cg_name.length, cg->cg_name.value);
for (i = 0; i < 10; i++) {
error = cpg_leave(cg->cg_handle,
@@ -636,13 +639,14 @@ static int init_group(struct cgroup *cg, const char *name)
{
cpg_error_t error;
- cg->cg_name.length = strlen(name);
- if (cg->cg_name.length > CPG_MAX_NAME_LENGTH) {
+ cg->cg_name.length = snprintf(cg->cg_name.value,
+ CPG_MAX_NAME_LENGTH,
+ "ocfs2:%s", name);
+ if (cg->cg_name.length >= CPG_MAX_NAME_LENGTH) {
log_error("Group name \"%s\" is too long", name);
error = -ENAMETOOLONG;
goto out;
}
- strncpy(cg->cg_name.value, name, CPG_MAX_NAME_LENGTH);
error = cpg_initialize(&cg->cg_handle, &callbacks);
if (error != CPG_OK) {
@@ -737,7 +741,7 @@ int setup_cpg(void (*daemon_joined)(void))
INIT_LIST_HEAD(&group_list);
daemon_group.cg_set_cgroup = daemon_set_cgroup;
daemon_group.cg_user_data = daemon_joined;
- error = init_group(&daemon_group, "ocfs2_controld");
+ error = init_group(&daemon_group, "controld");
return error;
}
--
1.5.3.8
More information about the Ocfs2-tools-devel
mailing list