rpms/cld/devel cld-test.patch, 1.1.2.2, 1.1.2.3 cld.spec, 1.4.2.2, 1.4.2.3

Pete Zaitcev zaitcev at fedoraproject.org
Wed Jul 22 03:33:15 UTC 2009


Author: zaitcev

Update of /cvs/pkgs/rpms/cld/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27766

Modified Files:
      Tag: private-zaitcev-bz512560
	cld-test.patch cld.spec 
Log Message:
Test 3, now with -E flag.


cld-test.patch:
 lib/cldc.c             |   38 ++++++++++++++++++++++++------
 server/cld.h           |    1 
 server/cldb.c          |    9 ++-----
 server/msg.c           |   58 +++++++++++++++++++++++++++++++++++++---------
 server/server.c        |   61 ++++++++++++++++++++++++++++++++-----------------
 server/session.c       |   21 ++++++++--------
 server/util.c          |   17 +++++++------
 test/load-file-event.c |    2 -
 test/start-daemon      |    2 -
 9 files changed, 144 insertions(+), 65 deletions(-)

Index: cld-test.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cld/devel/Attic/cld-test.patch,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.2 -r1.1.2.3
--- cld-test.patch	22 Jul 2009 01:41:29 -0000	1.1.2.2
+++ cld-test.patch	22 Jul 2009 03:33:14 -0000	1.1.2.3
@@ -1,8 +1,8 @@
 diff --git a/lib/cldc.c b/lib/cldc.c
-index cf70fc7..ab82b32 100644
+index ab3a2a4..f0dc086 100644
 --- a/lib/cldc.c
 +++ b/lib/cldc.c
-@@ -107,12 +107,14 @@ static int cldc_rx_generic(struct cldc_session *sess,
+@@ -133,12 +133,14 @@ static int cldc_rx_generic(struct cldc_session *sess,
  	while (tmp) {
  		req = tmp->data;
  
@@ -17,7 +17,7 @@ index cf70fc7..ab82b32 100644
  
  		if (req->xid == resp->xid_in)
  			break;
-@@ -409,13 +411,35 @@ int cldc_receive_pkt(struct cldc_session *sess,
+@@ -436,13 +438,35 @@ int cldc_receive_pkt(struct cldc_session *sess,
  		return -EPROTO;
  	}
  
@@ -32,7 +32,7 @@ index cf70fc7..ab82b32 100644
 +		if (msg->op == cmo_get) {
 +			struct cld_msg_get_resp *resp;
 +			resp = (struct cld_msg_get_resp *) msg;
-+			sess->act_log("receive pkt: len %u, op cmo_data_c"
++			sess->act_log("receive pkt: len %u, op cmo_get"
 +				", seqid %llu, user %s, size %u\n",
 +				(unsigned int) pkt_len,
 +				(unsigned long long) GUINT64_FROM_LE(pkt->seqid),
@@ -41,7 +41,7 @@ index cf70fc7..ab82b32 100644
 +		} else if (msg->op == cmo_data_c) {
 +			struct cld_msg_data *resp;
 +			resp = (struct cld_msg_data *) msg;
-+			sess->act_log("receive pkt: len %u, op cmo_get"
++			sess->act_log("receive pkt: len %u, op cmo_data_c"
 +				", seqid %llu, user %s, seg %u, len %u\n",
 +				(unsigned int) pkt_len,
 +				(unsigned long long) GUINT64_FROM_LE(pkt->seqid),
@@ -60,6 +60,615 @@ index cf70fc7..ab82b32 100644
  
  	if (memcmp(pkt->magic, CLD_PKT_MAGIC, sizeof(pkt->magic))) {
  		if (sess->verbose)
+diff --git a/server/cld.h b/server/cld.h
+index 2b14060..21f103d 100644
+--- a/server/cld.h
++++ b/server/cld.h
+@@ -170,6 +170,7 @@ extern void resp_err(struct session *sess,
+ 	      const struct cld_msg_hdr *src, enum cle_err_codes errcode);
+ extern void resp_ok(struct session *sess, const struct cld_msg_hdr *src);
+ extern bool authsign(struct cld_packet *pkt, size_t pkt_len);
++extern void cldlog(int prio, const char *fmt, ...);
+ 
+ /* util.c */
+ extern int write_pid_file(const char *pid_fn);
+diff --git a/server/cldb.c b/server/cldb.c
+index cb73523..cef9092 100644
+--- a/server/cldb.c
++++ b/server/cldb.c
+@@ -240,10 +240,7 @@ int cldb_init(struct cldb *cldb, const char *db_home, const char *db_password,
+ 
+ 	rc = db_env_create(&cldb->env, 0);
+ 	if (rc) {
+-		if (do_syslog)
+-			syslog(LOG_WARNING, "cldb->env_create failed: %d", rc);
+-		else
+-			fprintf(stderr, "cldb->env_create failed: %d\n", rc);
++		cldlog(LOG_WARNING, "cldb->env_create failed: %d\n", rc);
+ 		return rc;
+ 	}
+ 
+@@ -377,7 +374,7 @@ static int cldb_up(struct cldb *cldb, unsigned int flags)
+ 
+ 	cldb->up = true;
+ 
+-	syslog(LOG_INFO, "databases up");
++	cldlog(LOG_INFO, "databases up\n");
+ 	return 0;
+ 
+ err_out_handle_idx:
+@@ -419,7 +416,7 @@ void cldb_down(struct cldb *cldb)
+ 	cldb->inodes = NULL;
+ 	cldb->sessions = NULL;
+ 
+-	syslog(LOG_INFO, "databases down");
++	cldlog(LOG_INFO, "databases down\n");
+ }
+ 
+ void cldb_fini(struct cldb *cldb)
+diff --git a/server/msg.c b/server/msg.c
+index 2877348..5ace380 100644
+--- a/server/msg.c
++++ b/server/msg.c
+@@ -31,6 +31,21 @@ enum {
+ 	CLD_MAX_UDP_SEG		= 1024,
+ };
+ 
++/* P3 */
++static void inode_diag(struct raw_inode *inode, char *tag, char *act)
++{
++	char *p;
++	uint64_t n;
++	int l;
++
++	l = GUINT32_FROM_LE(inode->ino_len);
++	p = strndup((char *)inode + sizeof(struct raw_inode), l);
++	n = GUINT64_FROM_LE(inode->inum);
++	cldlog(LOG_INFO, "%s>inode.%s 0x%016llx %s[%d]\n", tag, act,
++	    (long long)n, p, l);
++	free(p);
++}
++
+ struct pathname_info {
+ 	const char	*dir;
+ 	size_t		dir_len;
+@@ -168,7 +183,8 @@ static bool dirdata_append(void **data, size_t *data_len,
+ 
+ 	mem = realloc(*data, new_len);
+ 	if (!mem) {
+-		syslog(LOG_CRIT, "out of memory for data [%lu]", new_len);
++		cldlog(LOG_CRIT, "out of memory for data [%lu]\n",
++		       (long)new_len);
+ 		return false;
+ 	}
+ 
+@@ -236,14 +252,14 @@ static int inode_notify(DB_TXN *txn, cldino_t inum, bool deleted)
+ 
+ 		sess = g_hash_table_lookup(cld_srv.sessions, h.sid);
+ 		if (!sess) {
+-			syslog(LOG_WARNING, "inode_notify BUG");
++			cldlog(LOG_WARNING, "inode_notify BUG\n");
+ 			continue;
+ 		}
+ 
+ 		if (!sess->sock) {		/* Freshly recovered session */
+ 			if (debugging)
+-				syslog(LOG_DEBUG,
+-				       "Lost notify sid " SIDFMT " ino %lld",
++				cldlog(LOG_DEBUG,
++				       "Lost notify sid " SIDFMT " ino %lld\n",
+ 				       SIDARG(sess->sid), (long long) inum);
+ 			continue;
+ 		}
+@@ -360,7 +376,7 @@ int inode_lock_rescan(DB_TXN *txn, cldino_t inum)
+ 
+ 		sess = g_hash_table_lookup(cld_srv.sessions, lock.sid);
+ 		if (!sess) {
+-			syslog(LOG_WARNING, "inode_lock_rescan BUG");
++			cldlog(LOG_WARNING, "inode_lock_rescan BUG\n");
+ 			break;
+ 		}
+ 
+@@ -370,8 +386,8 @@ int inode_lock_rescan(DB_TXN *txn, cldino_t inum)
+ 
+ 		if (!sess->sock) {		/* Freshly recovered session */
+ 			if (debugging)
+-				syslog(LOG_DEBUG,
+-				       "Lost success sid " SIDFMT " ino %lld",
++				cldlog(LOG_DEBUG,
++				       "Lost success sid " SIDFMT " ino %lld\n",
+ 				       SIDARG(sess->sid), (long long) inum);
+ 			continue;
+ 		}
+@@ -592,6 +608,19 @@ void msg_open(struct msg_params *mp)
+ 
+ 	/* read inode from db, if it exists */
+ 	rc = cldb_inode_get_byname(txn, name, name_len, &inode, false, DB_RMW);
++if (debugging)
++{ /* P3 */
++ char *n = strndup(name, name_len);
++ char *d = strndup(pinfo.dir, pinfo.dir_len);
++ char *b = strndup(pinfo.base, pinfo.base_len);
++ cldlog(LOG_DEBUG,
++   "msg_open name %s[%ld] dir %s[%ld] base %s[%ld] create %d getrc %d\n",
++   n, (long)name_len, d, (long)pinfo.dir_len, b, (long)pinfo.base_len,
++   create, rc);
++ free(n);
++ free(d);
++ free(b);
++}
+ 	if (rc && (rc != DB_NOTFOUND)) {
+ 		resp_rc = CLE_DB_ERR;
+ 		goto err_out;
+@@ -621,10 +650,11 @@ void msg_open(struct msg_params *mp)
+ 		/* create new in-memory inode */
+ 		inode = cldb_inode_new(txn, name, name_len, 0);
+ 		if (!inode) {
+-			syslog(LOG_CRIT, "cannot allocate new inode");
++			cldlog(LOG_CRIT, "cannot allocate new inode\n");
+ 			resp_rc = CLE_OOM;
+ 			goto err_out;
+ 		}
++		/* P3 */ inode_diag(inode, "open.inode", "new");
+ 
+ 		if (do_dir)
+ 			inode->flags = GUINT32_TO_LE(
+@@ -666,6 +696,7 @@ void msg_open(struct msg_params *mp)
+ 
+ 		parent->size = GUINT32_TO_LE(parent_len);
+ 
++		/* P3 */ inode_diag(parent, "open.parent", "touch");
+ 		rc = inode_touch(txn, parent);
+ 		if (rc) {
+ 			resp_rc = CLE_DB_ERR;
+@@ -678,7 +709,7 @@ void msg_open(struct msg_params *mp)
+ 	/* alloc & init new handle; updates session's next_fh */
+ 	h = cldb_handle_new(mp->sess, inum, msg_mode, msg_events);
+ 	if (!h) {
+-		syslog(LOG_CRIT, "cannot allocate handle");
++		cldlog(LOG_CRIT, "cannot allocate handle\n");
+ 		resp_rc = CLE_OOM;
+ 		goto err_out;
+ 	}
+@@ -694,6 +725,7 @@ void msg_open(struct msg_params *mp)
+ 
+ 	if (create) {
+ 		/* write inode */
++		/* P3 */ inode_diag(inode, "open.inode", "touch");
+ 		rc = inode_touch(txn, inode);
+ 
+ 		if (rc) {
+@@ -706,7 +738,7 @@ void msg_open(struct msg_params *mp)
+ 	raw_sess = session_new_raw(mp->sess);
+ 
+ 	if (!raw_sess) {
+-		syslog(LOG_CRIT, "cannot allocate session");
++		cldlog(LOG_CRIT, "cannot allocate session\n");
+ 		resp_rc = CLE_OOM;
+ 		goto err_out;
+ 	}
+@@ -913,6 +945,7 @@ static void try_commit_data(struct msg_params *mp,
+ 	inode->size = GUINT32_TO_LE(data_size);
+ 
+ 	/* update inode */
++	/* P3 */ inode_diag(inode, "commit.inode", "touch");
+ 	rc = inode_touch(txn, inode);
+ 	if (rc) {
+ 		resp_rc = CLE_DB_ERR;
+@@ -1221,6 +1254,7 @@ void msg_del(struct msg_params *mp)
+ 		resp_rc = CLE_DB_ERR;
+ 		goto err_out;
+ 	}
++	/* P3 */ inode_diag(parent, "del.parent", "lookup");
+ 
+ 	/* read parent inode data */
+ 	rc = cldb_data_get(txn, cldino_from_le(parent->inum),
+@@ -1239,6 +1273,7 @@ void msg_del(struct msg_params *mp)
+ 			resp_rc = CLE_DB_ERR;
+ 		goto err_out;
+ 	}
++	/* P3 */ inode_diag(parent, "del.inode", "delete");
+ 
+ 	/* prevent deletion of non-empty dirs */
+ 	if (GUINT32_FROM_LE(ino->flags) & CIFL_DIR) {
+@@ -1311,7 +1346,7 @@ void msg_del(struct msg_params *mp)
+ 	/* remove record from inode's directory data */
+ 	if (!dirdata_delete(&parent_data, &parent_len,
+ 			    pinfo.base, pinfo.base_len)) {
+-		syslog(LOG_WARNING, "dirent del failed");
++		cldlog(LOG_WARNING, "dirent del failed\n");
+ 		resp_rc = CLE_DB_ERR;
+ 		goto err_out;
+ 	}
+@@ -1327,6 +1362,7 @@ void msg_del(struct msg_params *mp)
+ 	parent->size = GUINT32_TO_LE(parent_len);
+ 
+ 	/* update parent dir inode */
++	/* P3 */ inode_diag(parent, "del.parent", "touch");
+ 	rc = inode_touch(txn, parent);
+ 	if (rc) {
+ 		resp_rc = CLE_DB_ERR;
+diff --git a/server/server.c b/server/server.c
+index e4b027d..3540d4e 100644
+--- a/server/server.c
++++ b/server/server.c
+@@ -51,6 +51,8 @@ static struct argp_option options[] = {
+ 	  "Store database environment in DIRECTORY" },
+ 	{ "debug", 'D', "LEVEL", 0,
+ 	  "Set debug output to LEVEL (0 = off, 2 = max verbose)" },
++	{ "stderr", 'E', NULL, 0,
++	  "Switch the log to standard error" },
+ 	{ "foreground", 'F', NULL, 0,
+ 	  "Run in foreground, do not fork" },
+ 	{ "port", 'p', "PORT", 0,
+@@ -70,6 +72,7 @@ static const struct argp argp = { options, parse_opt, NULL, doc };
+ 
+ static bool server_running = true;
+ static bool dump_stats;
++static bool use_syslog = true;
+ int debugging = 0;
+ struct timeval current_time;
+ 
+@@ -81,6 +84,18 @@ struct server cld_srv = {
+ 
+ static void ensure_root(void);
+ 
++void cldlog(int prio, const char *fmt, ...)
++{
++	va_list ap;
++
++	va_start(ap, fmt);
++	if (use_syslog)
++		vsyslog(prio, fmt, ap);
++	else
++		vfprintf(stderr, fmt, ap);
++	va_end(ap);
++}
++
+ int udp_tx(struct server_socket *sock, struct sockaddr *addr,
+ 	   socklen_t addr_len, const void *data, size_t data_len)
+ {
+@@ -113,7 +128,7 @@ void resp_err(struct session *sess,
+ 	resp.code = GUINT32_TO_LE(errcode);
+ 
+ 	if (sess->sock == NULL) {
+-		syslog(LOG_ERR, "Nul sock in response\n");
++		cldlog(LOG_ERR, "Nul sock in response\n");
+ 		return;
+ 	}
+ 
+@@ -175,7 +190,7 @@ bool authsign(struct cld_packet *pkt, size_t pkt_len)
+ 	     md, &md_len);
+ 
+ 	if (md_len != SHA_DIGEST_LENGTH)
+-		syslog(LOG_ERR, "authsign BUG: md_len != SHA_DIGEST_LENGTH");
++		cldlog(LOG_ERR, "authsign BUG: md_len != SHA_DIGEST_LENGTH\n");
+ 
+ 	memcpy(buf + pkt_len - SHA_DIGEST_LENGTH, md, SHA_DIGEST_LENGTH);
+ 
+@@ -278,7 +293,7 @@ static void udp_rx(struct server_socket *sock,
+ 	mp.msg_len = pkt_len - sizeof(*pkt);
+ 
+ 	if (debugging)
+-		syslog(LOG_DEBUG, "    msg op %s, seqid %llu",
++		cldlog(LOG_DEBUG, "    msg op %s, seqid %llu\n",
+ 		       opstr(msg->op),
+ 		       (unsigned long long) GUINT64_FROM_LE(pkt->seqid));
+ 
+@@ -295,7 +310,7 @@ static void udp_rx(struct server_socket *sock,
+ 			/* eliminate duplicates; do not return any response */
+ 			if (GUINT64_FROM_LE(pkt->seqid) != sess->next_seqid_in) {
+ 				if (debugging)
+-					syslog(LOG_DEBUG, "dropping dup");
++					cldlog(LOG_DEBUG, "dropping dup\n");
+ 				return;
+ 			}
+ 
+@@ -307,7 +322,7 @@ static void udp_rx(struct server_socket *sock,
+ 			/* eliminate duplicates; do not return any response */
+ 			if (GUINT64_FROM_LE(pkt->seqid) != sess->next_seqid_in) {
+ 				if (debugging)
+-					syslog(LOG_DEBUG, "dropping dup");
++					cldlog(LOG_DEBUG, "dropping dup\n");
+ 				return;
+ 			}
+ 
+@@ -334,8 +349,8 @@ err_out:
+ 	authsign(outpkt, alloc_len);
+ 
+ 	if (debugging)
+-		syslog(LOG_DEBUG,
+-		       "udp_rx err: sid " SIDFMT ", op %s, seqid %llu, code %d",
++		cldlog(LOG_DEBUG, "udp_rx err: "
++		       "sid " SIDFMT ", op %s, seqid %llu, code %d\n",
+ 		       SIDARG(outpkt->sid),
+ 		       opstr(resp->hdr.op),
+ 		       (unsigned long long) GUINT64_FROM_LE(outpkt->seqid),
+@@ -384,7 +399,7 @@ static bool udp_srv_event(int fd, short events, void *userdata)
+ 	strcpy(cli.addr_host, host);
+ 
+ 	if (debugging)
+-		syslog(LOG_DEBUG, "client %s message (%d bytes)",
++		cldlog(LOG_DEBUG, "client %s message (%d bytes)\n",
+ 		       host, (int) rrc);
+ 
+ 	if (cld_srv.cldb.is_master && cld_srv.cldb.up)
+@@ -429,7 +444,7 @@ static void cldb_checkpoint(struct timer *timer)
+ 	gettimeofday(&current_time, NULL);
+ 
+ 	if (debugging)
+-		syslog(LOG_INFO, "db4 checkpoint");
++		cldlog(LOG_INFO, "db4 checkpoint\n");
+ 
+ 	/* flush logs to db, if log files >= 1MB */
+ 	rc = dbenv->txn_checkpoint(dbenv, 1024, 0, 0);
+@@ -453,7 +468,7 @@ static int net_open(void)
+ 
+ 	rc = getaddrinfo(NULL, cld_srv.port, &hints, &res0);
+ 	if (rc) {
+-		syslog(LOG_ERR, "getaddrinfo(*:%s) failed: %s",
++		cldlog(LOG_ERR, "getaddrinfo(*:%s) failed: %s\n",
+ 		       cld_srv.port, gai_strerror(rc));
+ 		rc = -EINVAL;
+ 		goto err_addr;
+@@ -533,7 +548,7 @@ err_addr:
+ 
+ static void segv_signal(int signal)
+ {
+-	syslog(LOG_ERR, "SIGSEGV");
++	cldlog(LOG_ERR, "SIGSEGV\n");
+ 	exit(1);
+ }
+ 
+@@ -548,7 +563,7 @@ static void stats_signal(int signal)
+ }
+ 
+ #define X(stat) \
+-	syslog(LOG_INFO, "STAT %s %lu", #stat, cld_srv.stats.stat)
++	cldlog(LOG_INFO, "STAT %s %lu\n", #stat, cld_srv.stats.stat)
+ 
+ static void stats_dump(void)
+ {
+@@ -572,6 +587,9 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
+ 			argp_usage(state);
+ 		}
+ 		break;
++	case 'E':
++		use_syslog = false;
++		break;
+ 	case 'F':
+ 		cld_srv.flags |= SFL_FOREGROUND;
+ 		break;
+@@ -624,9 +642,10 @@ int main (int argc, char *argv[])
+ 	 * open syslog, background outselves, write PID file ASAP
+ 	 */
+ 
+-	openlog(PROGRAM_NAME, LOG_PID, LOG_LOCAL3);
++	if (use_syslog)
++		openlog(PROGRAM_NAME, LOG_PID, LOG_LOCAL3);
+ 
+-	if ((!(cld_srv.flags & SFL_FOREGROUND)) && (daemon(1, 0) < 0)) {
++	if (!(cld_srv.flags & SFL_FOREGROUND) && (daemon(1, !use_syslog) < 0)) {
+ 		syslogerr("daemon");
+ 		goto err_out;
+ 	}
+@@ -647,7 +666,7 @@ int main (int argc, char *argv[])
+ 
+ 	if (cldb_init(&cld_srv.cldb, cld_srv.data_dir, NULL,
+ 		      DB_CREATE | DB_THREAD | DB_RECOVER,
+-		      "cld", true,
++		      "cld", use_syslog,
+ 		      DB_CREATE | DB_THREAD, NULL))
+ 		exit(1);
+ 
+@@ -675,7 +694,7 @@ int main (int argc, char *argv[])
+ 	if (rc)
+ 		goto err_out_pid;
+ 
+-	syslog(LOG_INFO, "initialized: cport %s, dbg %u",
++	cldlog(LOG_INFO, "initialized: cport %s, dbg %u\n",
+ 	       cld_srv.port,
+ 	       debugging);
+ 
+@@ -742,7 +761,7 @@ int main (int argc, char *argv[])
+ 		next_timeout = timers_run();
+ 	}
+ 
+-	syslog(LOG_INFO, "shutting down");
++	cldlog(LOG_INFO, "shutting down\n");
+ 
+ 	if (cld_srv.cldb.up)
+ 		cldb_down(&cld_srv.cldb);
+@@ -777,12 +796,12 @@ static void ensure_root()
+ 	rc = cldb_inode_get_byname(txn, "/", sizeof("/")-1, &inode, false, 0);
+ 	if (rc == 0) {
+ 		if (debugging)
+-			syslog(LOG_DEBUG, "Root inode found, ino %llu\n",
++			cldlog(LOG_DEBUG, "Root inode found, ino %llu\n",
+ 			       (unsigned long long) cldino_from_le(inode->inum));
+ 	} else if (rc == DB_NOTFOUND) {
+ 		inode = cldb_inode_mem("/", sizeof("/")-1, CIFL_DIR, CLD_INO_ROOT);
+ 		if (!inode) {
+-			syslog(LOG_CRIT, "Cannot allocate new root inode");
++			cldlog(LOG_CRIT, "Cannot allocate new root inode\n");
+ 			goto err_;
+ 		}
+ 
+@@ -793,12 +812,12 @@ static void ensure_root()
+ 		rc = cldb_inode_put(txn, inode, 0);
+ 		if (rc) {
+ 			free(inode);
+-			syslog(LOG_CRIT, "Cannot allocate new root inode");
++			cldlog(LOG_CRIT, "Cannot allocate new root inode\n");
+ 			goto err_;
+ 		}
+ 
+ 		if (debugging)
+-			syslog(LOG_DEBUG, "Root inode created, ino %llu\n",
++			cldlog(LOG_DEBUG, "Root inode created, ino %llu\n",
+ 			       (unsigned long long) cldino_from_le(inode->inum));
+ 		free(inode);
+ 	} else {
+diff --git a/server/session.c b/server/session.c
+index a3332e9..1962b22 100644
+--- a/server/session.c
++++ b/server/session.c
+@@ -355,7 +355,7 @@ int session_dispose(DB_TXN *txn, struct session *sess)
+ 	session_free(sess);
+ 
+ 	if (rc)
+-		syslog(LOG_WARNING, "failed to remove session");
++		cldlog(LOG_WARNING, "failed to remove session\n");
+ 
+ 	return rc;
+ }
+@@ -397,7 +397,7 @@ static void session_timeout(struct timer *timer)
+ 		return;	/* timer added; do not time out session */
+ 	}
+ 
+-	syslog(LOG_INFO, "session timeout, addr %s sid " SIDFMT,
++	cldlog(LOG_INFO, "session timeout, addr %s sid " SIDFMT "\n",
+ 		sess->ipaddr, SIDARG(sess->sid));
+ 
+ 	/* open transaction */
+@@ -531,8 +531,8 @@ static int sess_retry_output(struct session *sess)
+ 			continue;
+ 
+ 		if (debugging)
+-			syslog(LOG_DEBUG,
+-			       "retry: sid " SIDFMT ", op %s, seqid %llu",
++			cldlog(LOG_DEBUG,
++			       "retry: sid " SIDFMT ", op %s, seqid %llu\n",
+ 			       SIDARG(outpkt->sid),
+ 			       opstr(outmsg->op),
+ 			       (unsigned long long)
+@@ -570,7 +570,7 @@ bool sess_sendmsg(struct session *sess, const void *msg_, size_t msglen,
+ 	if (debugging) {
+ 		const struct cld_msg_hdr *hdr = msg_;
+ 
+-		syslog(LOG_DEBUG, "sendmsg: sid " SIDFMT ", op %s, msglen %u",
++		cldlog(LOG_DEBUG, "sendmsg: sid " SIDFMT ", op %s, msglen %u\n",
+ 		       SIDARG(sess->sid),
+ 		       opstr(hdr->op),
+ 		       (unsigned int) msglen);
+@@ -646,7 +646,7 @@ void msg_ack(struct msg_params *mp)
+ 			continue;
+ 
+ 		if (debugging)
+-			syslog(LOG_DEBUG, "    expiring seqid %llu",
++			cldlog(LOG_DEBUG, "    expiring seqid %llu\n",
+ 		           (unsigned long long) GUINT64_FROM_LE(outpkt->seqid));
+ 
+ 		/* remove and delete the ack'd msg; call ack'd callback */
+@@ -740,7 +740,8 @@ err_out:
+ 	authsign(outpkt, alloc_len);
+ 
+ 	if (debugging)
+-		syslog(LOG_DEBUG, "new_sess err: sid " SIDFMT ", op %s, seqid %llu",
++		cldlog(LOG_DEBUG,
++		       "new_sess err: sid " SIDFMT ", op %s, seqid %llu\n",
+ 		       SIDARG(outpkt->sid),
+ 		       opstr(resp->hdr.op),
+ 		       (unsigned long long) GUINT64_FROM_LE(outpkt->seqid));
+@@ -749,7 +750,7 @@ err_out:
+ 	       mp->cli->addr_len, outpkt, alloc_len);
+ 
+ 	if (debugging)
+-		syslog(LOG_DEBUG, "NEW-SESS failed: %d", resp_rc);
++		cldlog(LOG_DEBUG, "NEW-SESS failed: %d\n", resp_rc);
+ }
+ 
+ static void end_sess_done(struct session_outpkt *outpkt)
+@@ -804,7 +805,7 @@ err_out_noabort:
+ 
+ /*
+  * Fill ss with contents of the database.
+- * Returns -1 on error because it prints the diagnostic to syslog.
++ * Returns -1 on error because it prints the diagnostic to the log.
+  */
+ int sess_load(GHashTable *ss)
+ {
+@@ -876,7 +877,7 @@ static int sess_load_db(GHashTable *ss, DB_TXN *txn)
+ 		session_decode(sess, &raw_sess);
+ 
+ 		if (debugging)
+-			syslog(LOG_DEBUG,
++			cldlog(LOG_DEBUG,
+ 			       " loaded sid " SIDFMT " next seqid %llu/%llu",
+ 			       SIDARG(sess->sid),
+ 			       (unsigned long long)
+diff --git a/server/util.c b/server/util.c
+index 2392595..02bf3af 100644
+--- a/server/util.c
++++ b/server/util.c
+@@ -49,7 +49,7 @@ int write_pid_file(const char *pid_fn)
+ 	fd = open(pid_fn, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
+ 	if (fd < 0) {
+ 		err = errno;
+-		syslog(LOG_ERR, "Cannot open PID file %s: %s",
++		cldlog(LOG_ERR, "Cannot open PID file %s: %s\n",
+ 		       pid_fn, strerror(err));
+ 		return -err;
+ 	}
+@@ -61,10 +61,10 @@ int write_pid_file(const char *pid_fn)
+ 	if (fcntl(fd, F_SETLK, &lock) != 0) {
+ 		err = errno;
+ 		if (err == EAGAIN) {
+-			syslog(LOG_ERR, "PID file %s is already locked",
++			cldlog(LOG_ERR, "PID file %s is already locked\n",
+ 			       pid_fn);
+ 		} else {
+-			syslog(LOG_ERR, "Cannot lock PID file %s: %s",
++			cldlog(LOG_ERR, "Cannot lock PID file %s: %s\n",
+ 			       pid_fn, strerror(err));
+ 		}
+ 		close(fd);
+@@ -78,7 +78,7 @@ int write_pid_file(const char *pid_fn)
+ 		ssize_t rc = write(fd, s, bytes);
+ 		if (rc < 0) {
+ 			err = errno;
+-			syslog(LOG_ERR, "PID number write failed: %s",
++			cldlog(LOG_ERR, "PID number write failed: %s\n",
+ 			       strerror(err));
+ 			goto err_out;
+ 		}
+@@ -90,7 +90,7 @@ int write_pid_file(const char *pid_fn)
+ 	/* make sure file data is written to disk */
+ 	if (fsync(fd) < 0) {
+ 		err = errno;
+-		syslog(LOG_ERR, "PID file fsync failed: %s", strerror(err));
++		cldlog(LOG_ERR, "PID file fsync failed: %s\n", strerror(err));
+ 		goto err_out;
+ 	}
+ 
+@@ -104,7 +104,7 @@ err_out:
+ 
+ void syslogerr(const char *prefix)
+ {
+-	syslog(LOG_ERR, "%s: %s", prefix, strerror(errno));
++	cldlog(LOG_ERR, "%s: %s\n", prefix, strerror(errno));
+ }
+ 
+ int fsetflags(const char *prefix, int fd, int or_flags)
+@@ -114,7 +114,7 @@ int fsetflags(const char *prefix, int fd, int or_flags)
+ 	/* get current flags */
+ 	old_flags = fcntl(fd, F_GETFL);
+ 	if (old_flags < 0) {
+-		syslog(LOG_ERR, "%s F_GETFL: %s", prefix, strerror(errno));
++		cldlog(LOG_ERR, "%s F_GETFL: %s\n", prefix, strerror(errno));
+ 		return -errno;
+ 	}
+ 
+@@ -125,7 +125,8 @@ int fsetflags(const char *prefix, int fd, int or_flags)
+ 	/* set new flags */
+ 	if (flags != old_flags)
+ 		if (fcntl(fd, F_SETFL, flags) < 0) {
+-			syslog(LOG_ERR, "%s F_SETFL: %s", prefix, strerror(errno));
++			cldlog(LOG_ERR, "%s F_SETFL: %s\n", prefix,
++			       strerror(errno));
+ 			rc = -errno;
+ 		}
+ 
 diff --git a/test/load-file-event.c b/test/load-file-event.c
 index d23c501..5846052 100644
 --- a/test/load-file-event.c
@@ -73,3 +682,16 @@ index d23c501..5846052 100644
  
  	event_set(&run.udp_ev, run.udp->fd, EV_READ | EV_PERSIST,
  		  udp_event, &run);
+diff --git a/test/start-daemon b/test/start-daemon
+index 6124ff4..4cb9fd7 100755
+--- a/test/start-daemon
++++ b/test/start-daemon
+@@ -6,7 +6,7 @@ then
+ 	exit 1
+ fi
+ 
+-../server/cld -P cld.pid -d "$PWD/data" -p 18181
++../server/cld -P cld.pid -d "$PWD/data" -p 18181 -E
+ 
+ sleep 3
+ 


Index: cld.spec
===================================================================
RCS file: /cvs/pkgs/rpms/cld/devel/cld.spec,v
retrieving revision 1.4.2.2
retrieving revision 1.4.2.3
diff -u -p -r1.4.2.2 -r1.4.2.3
--- cld.spec	22 Jul 2009 01:41:30 -0000	1.4.2.2
+++ cld.spec	22 Jul 2009 03:33:14 -0000	1.4.2.3
@@ -1,6 +1,6 @@
 Name:		cld
 Version:	0.2
-Release:	0.4.gc5b5f962.bz512560.2%{?dist}
+Release:	0.4.gc5b5f962.bz512560.3%{?dist}
 Summary:	Coarse locking daemon
 
 Group:		System Environment/Base
@@ -21,10 +21,6 @@ BuildRoot:	%{_tmppath}/%{name}-%{version
 BuildRequires:	db4-devel libevent-devel glib2-devel doxygen openssl-devel
 BuildRequires:	texlive-latex
 
-# cld is broken on big-endian... embarrassing!!!
-# FIXME: remove this when cld is fixed
-# ExcludeArch: ppc ppc64
-
 %description
 Coarse locking daemon for cloud computing.  This software provides
 a cache-coherent, highly-available distributed filesystem for small
@@ -107,7 +103,7 @@ fi
 
 %changelog
 * Tue Jul 21 2009 Pete Zaitcev <zaitcev at redhat.com>
-- Testing, bump to 0.2-0.4.gc5b5f962.bz512560.2
+- Testing, bump to 0.2-0.4.gc5b5f962.bz512560.3
 
 * Tue Jul 21 2009 Jeff Garzik <jgarzik at redhat.com> - 0.2-0.4.gc5b5f962
 - rebuild for koji silliness




More information about the fedora-extras-commits mailing list