Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:sschapiro:openstack:upstream
cluster
qdiskd_fix_auto_vote_calculation_loop.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File qdiskd_fix_auto_vote_calculation_loop.patch of Package cluster
commit 8fd8d3f3c52b9efc09d911bd8fdcab3e8742e9cb Author: Lon Hohberger <lhh@redhat.com> Date: Fri Feb 4 11:19:50 2011 -0500 qdiskd: Fix auto-vote calculation loop Resolves: rhbz#663433 Signed-off-by: Lon Hohberger <lhh@redhat.com> Reviewed-by: Fabio M. Di Nitto <fdinitto@redhat.com> diff --git a/cman/qdisk/disk.c b/cman/qdisk/disk.c index 1f646ce..9884ea7 100644 --- a/cman/qdisk/disk.c +++ b/cman/qdisk/disk.c @@ -24,6 +24,7 @@ #include <platform.h> #include <unistd.h> #include <time.h> +#include <linux/types.h> #include <linux/fs.h> #include <liblogthread.h> #include <zlib.h> diff --git a/cman/qdisk/main.c b/cman/qdisk/main.c index ebdb018..9262af2 100644 --- a/cman/qdisk/main.c +++ b/cman/qdisk/main.c @@ -1377,32 +1377,33 @@ auto_qdisk_votes(int desc) { int ret = 1; char buf[PATH_MAX]; - char *name; + char *v = NULL, *name = NULL; while (1) { int votes=0; + name = NULL; + snprintf(buf, sizeof(buf)-1, + "/cluster/clusternodes/clusternode[%d]/@name", ret); + if (ccs_get(desc, buf, &name) != 0) + break; + snprintf(buf, sizeof(buf)-1, "/cluster/clusternodes/clusternode[%d]/@votes", ret); - name = NULL; - if (ccs_get(desc, buf, &name) == 0) - votes = atoi(name); - else + if (ccs_get(desc, buf, &v) == 0) { + votes = atoi(v); + free(v); + v = NULL; + } else { votes = 1; + } if (votes != 1) { - free(name); - snprintf(buf, sizeof(buf)-1, - "/cluster/clusternodes/clusternode[%d]/@name", - ret); - - if (ccs_get(desc, buf, &name) == 0) { - logt_print(LOG_ERR, "%s's vote count is %d\n", - name, votes); - free(name); - } + logt_print(LOG_ERR, "%s's vote count is %d\n", + name, votes); + free(name); logt_print(LOG_ERR, "Set all node vote counts to 1 " "or specify qdiskd's votes\n");
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor