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(¤t_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