cluster: RHEL55 - ccsd: Improve error messages from ccsd
Christine Caulfield
chrissie at fedoraproject.org
Mon Dec 21 17:15:21 UTC 2009
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=70a541bd76cfb45d7c97ad47d984e5ace9dbea98
Commit: 70a541bd76cfb45d7c97ad47d984e5ace9dbea98
Parent: 4cb022366d43ecc763c3add78afdaa17c7e530a9
Author: Christine Caulfield <ccaulfie at redhat.com>
AuthorDate: Mon Dec 21 17:13:59 2009 +0000
Committer: Christine Caulfield <ccaulfie at redhat.com>
CommitterDate: Mon Dec 21 17:13:59 2009 +0000
ccsd: Improve error messages from ccsd
Resolves rhbz#517399
Signed-off-by: Christine Caulfield <ccaulfie at redhat.com>
---
ccs/daemon/ccsd.c | 34 +++++++++++++++++++++++++++++++---
ccs/daemon/cnx_mgr.c | 20 ++++++++++++++++++--
2 files changed, 49 insertions(+), 5 deletions(-)
diff --git a/ccs/daemon/ccsd.c b/ccs/daemon/ccsd.c
index f2325fd..82d7bae 100644
--- a/ccs/daemon/ccsd.c
+++ b/ccs/daemon/ccsd.c
@@ -57,6 +57,7 @@ int main(int argc, char *argv[]){
struct sockaddr_storage addr;
struct sockaddr_in *addr4 = (struct sockaddr_in *)&addr;
struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)&addr;
+ char addrbuf[64], *res;
int addr_size=0;
fd_set rset, tmp_set;
char *msg;
@@ -124,9 +125,22 @@ int main(int argc, char *argv[]){
inet_aton("127.0.0.1", (struct in_addr *)&(addr4->sin_addr.s_addr));
addr4->sin_port = htons(frontend_port);
}
-
if(bind(sfds[0], (struct sockaddr *)&addr, addr_size) < 0){
- log_sys_err("Unable to bind socket");
+ if(IPv6) {
+ res = inet_ntop(AF_INET6,&addr6->sin6_addr, addrbuf, sizeof(addrbuf));
+ if (!res) {
+ log_sys_err("Unable to bind socket addr: %s, port: %d, scope: %d", addrbuf, addr6->sin6_port, addr6->sin6_scope_id);
+ } else {
+ log_sys_err("Unable to bind to ipv6 frontend socket, but inet_ntop returned NULL pointer");
+ }
+ } else {
+ res = inet_ntop(AF_INET,&addr4->sin_addr, addrbuf, sizeof(addrbuf));
+ if (!res) {
+ log_sys_err("Unable to bind socket addr: %s, port: %d, proto: %d", addrbuf, addr4->sin_port, addr4->sin_family);
+ } else {
+ log_sys_err("Unable to bind to ipv4 frontend socket, but inet_ntop returned NULL pointer");
+ }
+ }
close(sfds[0]);
exit(EXIT_FAILURE);
}
@@ -158,7 +172,21 @@ int main(int argc, char *argv[]){
}
if(bind(sfds[1], (struct sockaddr *)&addr, addr_size) < 0){
- log_sys_err("Unable to bind socket");
+ if(IPv6) {
+ res = inet_ntop(AF_INET6,&addr6->sin6_addr, addrbuf, sizeof(addrbuf));
+ if (!res) {
+ log_sys_err("Unable to bind socket addr: %s, port: %d, scope: %d", addrbuf, addr6->sin6_port, addr6->sin6_scope_id);
+ } else {
+ log_sys_err("Unable to bind to backend ipv6 socket, but inet_ntop returned NULL pointer");
+ }
+ } else {
+ res = inet_ntop(AF_INET,&addr4->sin_addr, addrbuf, sizeof(addrbuf));
+ if (!res) {
+ log_sys_err("Unable to bind socket addr: %s, port: %d, proto: %d", addrbuf, addr4->sin_port, addr4->sin_family);
+ } else {
+ log_sys_err("Unable to bind to backend ipv4 socket, but inet_ntop returned NULL pointer");
+ }
+ }
close(sfds[1]);
return -errno;
}
diff --git a/ccs/daemon/cnx_mgr.c b/ccs/daemon/cnx_mgr.c
index 6366e4b..078df85 100644
--- a/ccs/daemon/cnx_mgr.c
+++ b/ccs/daemon/cnx_mgr.c
@@ -167,7 +167,7 @@ static int broadcast_for_doc(char *cluster_name, int blocking){
int trueint;
int v1, v2;
int write_to_disk = 0;
- char *tmp_name = NULL;
+ char *tmp_name = NULL, addrbuf[64], *res;
struct sockaddr_storage addr, recv_addr;
struct sockaddr_in *addr4 = (struct sockaddr_in *)&addr;
struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)&addr;
@@ -297,7 +297,23 @@ static int broadcast_for_doc(char *cluster_name, int blocking){
if(sendto(sfd, (char *)ch, sizeof(comm_header_t), 0,
(struct sockaddr *)&addr, addr_size) < 0){
- log_sys_err("Unable to perform sendto");
+
+ if(IPv6) {
+ res = inet_ntop(AF_INET6,&addr6->sin6_addr, addrbuf, sizeof(addrbuf));
+ if (!res) {
+ log_sys_err("Unable to perform sendto addr: %s, port: %d, scope: %d", addrbuf, addr6->sin6_port, addr6->sin6_scope_id);
+ } else {
+ log_sys_err("Unable to sendto broadcast ipv6 socket, but inet_ntop returned NULL pointer");
+ }
+ } else {
+ res = inet_ntop(AF_INET,&addr4->sin_addr, addrbuf, sizeof(addrbuf));
+ if (!res) {
+ log_sys_err("Unable to perform sendto addr: %s, port: %d, proto: %d", addrbuf, addr4->sin_port, addr4->sin_family);
+ } else {
+ log_sys_err("Unable to sendto broadcast ipv4 socket, but inet_ntop returned NULL pointer");
+ }
+ }
+
if(retry > 0){
retry--;
close(sfd);
More information about the cluster-commits
mailing list