Signed-off-by: Colin McCabe <cmcc...@alumni.cmu.edu>
---
 server/cld.h     |    4 +-
 server/cldb.c    |    7 ++--
 server/msg.c     |   50 +++++++++++++-----------------
 server/server.c  |   87 ++++++++++++++++++++++++-----------------------------
 server/session.c |   58 ++++++++++++++---------------------
 server/util.c    |   28 +++++++++--------
 6 files changed, 105 insertions(+), 129 deletions(-)

diff --git a/server/cld.h b/server/cld.h
index 05c93ad..efe7ee4 100644
--- a/server/cld.h
+++ b/server/cld.h
@@ -26,6 +26,7 @@
 #include <glib.h>
 #include "cldb.h"
 #include <cld_msg.h>
+#include <common.h>
 #include <libtimer.h>
 
 struct client;
@@ -152,7 +153,7 @@ extern int sess_load(GHashTable *ss);
 /* server.c */
 extern const char *opstr(enum cld_msg_ops op);
 extern struct server cld_srv;
-extern int debugging;
+extern struct hail_log srv_log;
 extern struct timeval current_time;
 extern int udp_tx(int sock_fd, struct sockaddr *, socklen_t,
            const void *, size_t);
@@ -161,7 +162,6 @@ 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 applog(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 2f012e5..ca5d849 100644
--- a/server/cldb.c
+++ b/server/cldb.c
@@ -25,6 +25,7 @@
 #include <glib.h>
 #include <cld-private.h>
 #include "cld.h"
+#include <hail_log.h>
 
 static int cldb_up(struct cldb *cldb, unsigned int flags);
 
@@ -241,7 +242,7 @@ int cldb_init(struct cldb *cldb, const char *db_home, const 
char *db_password,
 
        rc = db_env_create(&cldb->env, 0);
        if (rc) {
-               applog(LOG_WARNING, "cldb->env_create failed: %d", rc);
+               HAIL_WARN(&srv_log, "cldb->env_create failed: %d", rc);
                return rc;
        }
 
@@ -375,7 +376,7 @@ static int cldb_up(struct cldb *cldb, unsigned int flags)
 
        cldb->up = true;
 
-       applog(LOG_INFO, "databases up");
+       HAIL_INFO(&srv_log, "databases up");
        return 0;
 
 err_out_handle_idx:
@@ -417,7 +418,7 @@ void cldb_down(struct cldb *cldb)
        cldb->inodes = NULL;
        cldb->sessions = NULL;
 
-       applog(LOG_INFO, "databases down");
+       HAIL_INFO(&srv_log, "databases down");
 }
 
 void cldb_fini(struct cldb *cldb)
diff --git a/server/msg.c b/server/msg.c
index dc5d5fa..34b4c14 100644
--- a/server/msg.c
+++ b/server/msg.c
@@ -27,6 +27,7 @@
 #include <openssl/sha.h>
 #include <cld-private.h>
 #include "cld.h"
+#include <hail_log.h>
 
 enum {
        CLD_MAX_UDP_SEG         = 1024,
@@ -169,7 +170,7 @@ static bool dirdata_append(void **data, size_t *data_len,
 
        mem = realloc(*data, new_len);
        if (!mem) {
-               applog(LOG_CRIT, "out of memory for data [%lu]", (long)new_len);
+               HAIL_CRIT(&srv_log, "out of memory for data [%lz]", new_len);
                return false;
        }
 
@@ -238,15 +239,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) {
-                       applog(LOG_WARNING, "inode_notify BUG");
+                       HAIL_WARN(&srv_log, "inode_notify BUG");
                        continue;
                }
 
                if (!sess->sock_fd) {           /* Freshly recovered session */
-                       if (debugging)
-                               applog(LOG_DEBUG,
-                                      "Lost notify sid " SIDFMT " ino %lld",
-                                      SIDARG(sess->sid), (long long) inum);
+                       HAIL_DEBUG(&srv_log, "Lost notify sid " SIDFMT
+                               " ino %lld", SIDARG(sess->sid),
+                               (long long) inum);
                        continue;
                }
 
@@ -363,7 +363,7 @@ int inode_lock_rescan(DB_TXN *txn, cldino_t inum)
 
                sess = g_hash_table_lookup(cld_srv.sessions, lock.sid);
                if (!sess) {
-                       applog(LOG_WARNING, "inode_lock_rescan BUG");
+                       HAIL_WARN(&srv_log, "inode_lock_rescan BUG");
                        break;
                }
 
@@ -372,10 +372,9 @@ int inode_lock_rescan(DB_TXN *txn, cldino_t inum)
                 */
 
                if (!sess->sock_fd) {           /* Freshly recovered session */
-                       if (debugging)
-                               applog(LOG_DEBUG,
-                                      "Lost success sid " SIDFMT " ino %lld",
-                                      SIDARG(sess->sid), (long long) inum);
+                       HAIL_DEBUG(&srv_log, "Lost success sid " SIDFMT
+                               " ino %lld", SIDARG(sess->sid),
+                               (long long) inum);
                        continue;
                }
 
@@ -455,13 +454,10 @@ void msg_get(struct msg_params *mp, bool metadata_only)
                goto err_out;
        }
 
-       if (debugging)
-               applog(LOG_DEBUG, "GET-DEBUG: sizeof(resp) %u, name_len %u, "
-                      "inode->size %u, resp_len %u",
-                      sizeof(*resp),
-                      name_len,
-                      inode_size,
-                      resp_len);
+       HAIL_DEBUG(&srv_log, "GET-DEBUG: sizeof(resp) %u, name_len %u, "
+               "inode->size %u, resp_len %u",
+               sizeof(*resp), name_len,
+               inode_size, resp_len);
 
        /* return response containing inode metadata */
        memset(resp, 0, resp_len);
@@ -610,7 +606,7 @@ void msg_open(struct msg_params *mp)
                /* create new in-memory inode */
                inode = cldb_inode_new(txn, name, name_len, 0);
                if (!inode) {
-                       applog(LOG_CRIT, "cannot allocate new inode");
+                       HAIL_CRIT(&srv_log, "cannot allocate new inode");
                        resp_rc = CLE_OOM;
                        goto err_out;
                }
@@ -667,7 +663,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) {
-               applog(LOG_CRIT, "cannot allocate handle");
+               HAIL_CRIT(&srv_log, "cannot allocate handle");
                resp_rc = CLE_OOM;
                goto err_out;
        }
@@ -695,7 +691,7 @@ void msg_open(struct msg_params *mp)
        raw_sess = session_new_raw(mp->sess);
 
        if (!raw_sess) {
-               applog(LOG_CRIT, "cannot allocate session");
+               HAIL_CRIT(&srv_log, "cannot allocate session");
                resp_rc = CLE_OOM;
                goto err_out;
        }
@@ -762,12 +758,10 @@ void msg_put(struct msg_params *mp)
        /* make sure additional input data as large as expected */
        data_size = le32_to_cpu(msg->data_size);
        if (mp->msg_len != (data_size + sizeof(*msg))) {
-               applog(LOG_INFO, "PUT len mismatch: msg len %zu, "
-                      "wanted %zu + %u (== %u)",
-                      mp->msg_len,
-                      sizeof(*msg),
-                      data_size,
-                      data_size + sizeof(*msg));
+               HAIL_INFO(&srv_log, "PUT len mismatch: msg len %zu, "
+                       "wanted %zu + %u (== %u)",
+                       mp->msg_len,
+                       sizeof(*msg), data_size, data_size + sizeof(*msg));
                resp_rc = CLE_BAD_PKT;
                goto err_out_noabort;
        }
@@ -1067,7 +1061,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)) {
-               applog(LOG_WARNING, "dirent del failed");
+               HAIL_WARN(&srv_log, "dirent del failed");
                resp_rc = CLE_DB_ERR;
                goto err_out;
        }
diff --git a/server/server.c b/server/server.c
index 39d1a54..e14d492 100644
--- a/server/server.c
+++ b/server/server.c
@@ -37,6 +37,8 @@
 #include <openssl/hmac.h>
 #include <cld-private.h>
 #include "cld.h"
+#include <common.h>
+#include <hail_log.h>
 
 #define PROGRAM_NAME "cld"
 
@@ -84,7 +86,6 @@ static bool server_running = true;
 static bool dump_stats;
 static bool use_syslog = true;
 static bool strict_free = false;
-int debugging = 0;
 struct timeval current_time;
 
 struct server cld_srv = {
@@ -95,7 +96,7 @@ struct server cld_srv = {
 
 static void ensure_root(void);
 
-void applog(int prio, const char *fmt, ...)
+static void applog(int prio, const char *fmt, ...)
 {
        va_list ap;
 
@@ -116,13 +117,17 @@ void applog(int prio, const char *fmt, ...)
        va_end(ap);
 }
 
+struct hail_log srv_log = {
+       .func = applog,
+       .verbose = 0,
+};
+
 int udp_tx(int sock_fd, struct sockaddr *addr, socklen_t addr_len,
           const void *data, size_t data_len)
 {
        ssize_t src;
 
-       if (debugging > 1)
-               applog(LOG_DEBUG, "udp_tx, fd %d", sock_fd);
+       HAIL_DEBUG(&srv_log, "udp_tx, fd %d", sock_fd);
 
        src = sendto(sock_fd, data, data_len, 0, addr, addr_len);
        if (src < 0 && errno != EAGAIN)
@@ -267,7 +272,7 @@ static void show_msg(const struct cld_msg_hdr *msg)
        case cmo_not_master:
        case cmo_event:
        case cmo_ack_frag:
-               applog(LOG_DEBUG, "msg: op %s, xid %llu",
+               HAIL_DEBUG(&srv_log, "msg: op %s, xid %llu",
                       opstr(msg->op),
                       (unsigned long long) le64_to_cpu(msg->xid));
                break;
@@ -279,7 +284,7 @@ static void udp_rx_msg(const struct client *cli, const 
struct cld_packet *pkt,
 {
        struct session *sess = mp->sess;
 
-       if (debugging)
+       if (srv_log.verbose)
                show_msg(msg);
 
        switch(msg->op) {
@@ -328,12 +333,10 @@ static void pkt_ack_frag(int sock_fd,
 
        authsign(outpkt, alloc_len);
 
-       if (debugging)
-               applog(LOG_DEBUG, "ack-partial-msg: "
-                      "sid " SIDFMT ", op %s, seqid %llu",
-                      SIDARG(outpkt->sid),
-                      opstr(ack_msg->hdr.op),
-                      (unsigned long long) le64_to_cpu(outpkt->seqid));
+       HAIL_DEBUG(&srv_log, "ack-partial-msg: "
+               "sid " SIDFMT ", op %s, seqid %llu",
+               SIDARG(outpkt->sid), opstr(ack_msg->hdr.op),
+               (unsigned long long) le64_to_cpu(outpkt->seqid));
 
        /* transmit ack-partial-msg response (once, without retries) */
        udp_tx(sock_fd, (struct sockaddr *) &cli->addr, cli->addr_len,
@@ -386,15 +389,12 @@ static void udp_rx(int sock_fd,
        mp.msg = msg;
        mp.msg_len = pkt_len - sizeof(*pkt) - SHA_DIGEST_LENGTH;
 
-       if (debugging > 1)
-               applog(LOG_DEBUG, "pkt: len %zu, seqid %llu, sid " SIDFMT ", "
-                      "flags %s%s, user %s",
-                      pkt_len,
-                      (unsigned long long) le64_to_cpu(pkt->seqid),
-                      SIDARG(pkt->sid),
-                      first_frag ? "F" : "",
-                      last_frag ? "L" : "",
-                      pkt->user);
+       HAIL_DEBUG(&srv_log, "pkt: len %zu, seqid %llu, sid " SIDFMT ", "
+               "flags %s%s, user %s",
+               pkt_len, (unsigned long long) le64_to_cpu(pkt->seqid),
+               SIDARG(pkt->sid),
+               first_frag ? "F" : "", last_frag ? "L" : "",
+               pkt->user);
 
        /* advance sequence id's and update last-contact timestamp */
        if (!have_new_sess) {
@@ -409,8 +409,7 @@ static void udp_rx(int sock_fd,
                if (!have_ack) {
                        /* eliminate duplicates; do not return any response */
                        if (le64_to_cpu(pkt->seqid) != sess->next_seqid_in) {
-                               if (debugging)
-                                       applog(LOG_DEBUG, "dropping dup");
+                               HAIL_DEBUG(&srv_log, "dropping dup");
                                return;
                        }
 
@@ -421,8 +420,7 @@ static void udp_rx(int sock_fd,
                if (sess) {
                        /* eliminate duplicates; do not return any response */
                        if (le64_to_cpu(pkt->seqid) != sess->next_seqid_in) {
-                               if (debugging)
-                                       applog(LOG_DEBUG, "dropping dup");
+                               HAIL_DEBUG(&srv_log, "dropping dup");
                                return;
                        }
 
@@ -452,8 +450,8 @@ static void udp_rx(int sock_fd,
                mp.msg = msg = (struct cld_msg_hdr *) sess->msg_buf;
                mp.msg_len = sess->msg_buf_len;
 
-               if ((debugging > 1) && !first_frag)
-                       applog(LOG_DEBUG, "    final message size %u",
+               if ((srv_log.verbose > 1) && !first_frag)
+                       HAIL_DEBUG(&srv_log, "    final message size %u",
                               sess->msg_buf_len);
        }
 
@@ -475,13 +473,11 @@ err_out:
 
        authsign(outpkt, alloc_len);
 
-       if (debugging)
-               applog(LOG_DEBUG, "udp_rx err: "
-                      "sid " SIDFMT ", op %s, seqid %llu, code %d",
-                      SIDARG(outpkt->sid),
-                      opstr(resp->hdr.op),
-                      (unsigned long long) le64_to_cpu(outpkt->seqid),
-                      resp_rc);
+       HAIL_DEBUG(&srv_log, "udp_rx err: "
+               "sid " SIDFMT ", op %s, seqid %llu, code %d",
+               SIDARG(outpkt->sid), opstr(resp->hdr.op),
+               (unsigned long long) le64_to_cpu(outpkt->seqid),
+               resp_rc);
 
        udp_tx(sock_fd, (struct sockaddr *) &cli->addr, cli->addr_len,
               outpkt, alloc_len);
@@ -523,9 +519,7 @@ static bool udp_srv_event(int fd, short events, void 
*userdata)
 
        strcpy(cli.addr_host, host);
 
-       if (debugging)
-               applog(LOG_DEBUG, "client %s message (%d bytes)",
-                      host, (int) rrc);
+       HAIL_DEBUG(&srv_log, "client %s message (%d bytes)", host, (int) rrc);
 
        /* if it is complete garbage, drop immediately */
        if ((rrc < (sizeof(*pkt) + SHA_DIGEST_LENGTH)) ||
@@ -575,8 +569,7 @@ static void cldb_checkpoint(struct timer *timer)
 
        gettimeofday(&current_time, NULL);
 
-       if (debugging)
-               applog(LOG_INFO, "db4 checkpoint");
+       HAIL_DEBUG(&srv_log, "db4 checkpoint");
 
        /* flush logs to db, if log files >= 1MB */
        rc = dbenv->txn_checkpoint(dbenv, 1024, 0, 0);
@@ -841,7 +834,7 @@ static error_t parse_opt (int key, char *arg, struct 
argp_state *state)
                break;
        case 'D':
                if (atoi(arg) >= 0 && atoi(arg) <= 2)
-                       debugging = atoi(arg);
+                       srv_log.verbose = atoi(arg);
                else {
                        fprintf(stderr, "invalid debug level: '%s'\n", arg);
                        argp_usage(state);
@@ -1044,8 +1037,8 @@ int main (int argc, char *argv[])
        if (rc)
                goto err_out_pid;
 
-       applog(LOG_INFO, "initialized: dbg %u%s",
-              debugging,
+       HAIL_INFO(&srv_log, "initialized: verbose %u%s",
+              srv_log.verbose,
               strict_free ? ", strict-free" : "");
 
        /*
@@ -1098,9 +1091,8 @@ static void ensure_root()
 
        rc = cldb_inode_get_byname(txn, "/", sizeof("/")-1, &inode, false, 0);
        if (rc == 0) {
-               if (debugging)
-                       applog(LOG_DEBUG, "Root inode found, ino %llu",
-                              (unsigned long long) 
cldino_from_le(inode->inum));
+               HAIL_DEBUG(&srv_log, "Root inode found, ino %llu",
+                       (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) {
@@ -1119,9 +1111,8 @@ static void ensure_root()
                        goto err_;
                }
 
-               if (debugging)
-                       applog(LOG_DEBUG, "Root inode created, ino %llu",
-                              (unsigned long long) 
cldino_from_le(inode->inum));
+               HAIL_DEBUG(&srv_log, "Root inode created, ino %llu",
+                       (unsigned long long) cldino_from_le(inode->inum));
                free(inode);
        } else {
                dbenv->err(dbenv, rc, "Root inode lookup");
diff --git a/server/session.c b/server/session.c
index 09d26fe..88b9aee 100644
--- a/server/session.c
+++ b/server/session.c
@@ -30,6 +30,7 @@
 #include <openssl/sha.h>
 #include <cld-private.h>
 #include "cld.h"
+#include <hail_log.h>
 
 struct session_outpkt;
 
@@ -158,8 +159,7 @@ void sessions_free(void)
 
 static void session_trash(struct session *sess)
 {
-       if (debugging)
-               applog(LOG_DEBUG, "session " SIDFMT " sent to garbage",
+       HAIL_DEBUG(&srv_log, "session " SIDFMT " sent to garbage",
                       SIDARG(sess->sid));
        sess->dead = true;
 }
@@ -391,7 +391,7 @@ int session_dispose(DB_TXN *txn, struct session *sess)
        session_free(sess, true);
 
        if (rc)
-               applog(LOG_WARNING, "failed to remove session");
+               HAIL_WARN(&srv_log, "failed to remove session");
 
        return rc;
 }
@@ -435,9 +435,9 @@ static void session_timeout(struct timer *timer)
                return; /* timer added; do not time out session */
        }
 
-       applog(LOG_INFO, "session %s, addr %s sid " SIDFMT,
-              sess->dead ? "gc'd" : "timeout",
-              sess->ipaddr, SIDARG(sess->sid));
+       HAIL_INFO(&srv_log, "session %s, addr %s sid " SIDFMT,
+               sess->dead ? "gc'd" : "timeout",
+               sess->ipaddr, SIDARG(sess->sid));
 
        /* open transaction */
        rc = dbenv->txn_begin(dbenv, NULL, &txn, 0);
@@ -576,13 +576,9 @@ static int sess_retry_output(struct session *sess, time_t 
*next_retry_out)
                if (current_time.tv_sec < op->next_retry)
                        continue;
 
-               if (debugging)
-                       applog(LOG_DEBUG,
-                              "retry: sid " SIDFMT ", op %s, seqid %llu",
-                              SIDARG(outpkt->sid),
-                              opstr(outmsg->op),
-                              (unsigned long long)
-                                       le64_to_cpu(outpkt->seqid));
+               HAIL_DEBUG(&srv_log, "retry: sid " SIDFMT ", op %s, seqid %llu",
+                       SIDARG(outpkt->sid), opstr(outmsg->op),
+                       (unsigned long long) le64_to_cpu(outpkt->seqid));
 
                rc = udp_tx(sess->sock_fd, (struct sockaddr *) &sess->addr,
                            sess->addr_len, op->pkt, op->pkt_len);
@@ -632,7 +628,7 @@ bool sess_sendmsg(struct session *sess, const void *msg_, 
size_t msglen,
        n_pkts = (msglen / CLD_MAX_PKT_MSG_SZ);
        n_pkts += (msglen % CLD_MAX_PKT_MSG_SZ) ? 1 : 0;
 
-       if (debugging) {
+       if (srv_log.verbose) {
                const struct cld_msg_hdr *hdr = msg_;
                const struct cld_msg_resp *rsp;
 
@@ -651,7 +647,7 @@ bool sess_sendmsg(struct session *sess, const void *msg_, 
size_t msglen,
                case cmo_get_meta:
                case cmo_get:
                        rsp = (struct cld_msg_resp *) msg_;
-                       applog(LOG_DEBUG, "sendmsg: "
+                       HAIL_DEBUG(&srv_log, "sendmsg: "
                               "sid " SIDFMT ", op %s, msglen %u, code %u, "
                               "xid %llu, xid_in %llu",
                               SIDARG(sess->sid),
@@ -662,7 +658,7 @@ bool sess_sendmsg(struct session *sess, const void *msg_, 
size_t msglen,
                               (unsigned long long) le64_to_cpu(rsp->xid_in));
                        break;
                default:
-                       applog(LOG_DEBUG, "sendmsg: "
+                       HAIL_DEBUG(&srv_log, "sendmsg: "
                               "sid " SIDFMT ", op %s, msglen %u",
                               SIDARG(sess->sid),
                               opstr(hdr->op),
@@ -771,9 +767,8 @@ void msg_ack(struct msg_params *mp)
                if (mp->pkt->seqid != outpkt->seqid)
                        continue;
 
-               if (debugging)
-                       applog(LOG_DEBUG, "    expiring seqid %llu",
-                          (unsigned long long) le64_to_cpu(outpkt->seqid));
+               HAIL_DEBUG(&srv_log, "    expiring seqid %llu",
+                       (unsigned long long) le64_to_cpu(outpkt->seqid));
 
                /* remove and delete the ack'd msg; call ack'd callback */
                sess->out_q = g_list_delete_link(sess->out_q, tmp1);
@@ -865,18 +860,14 @@ err_out:
 
        authsign(outpkt, alloc_len);
 
-       if (debugging)
-               applog(LOG_DEBUG,
-                      "new_sess err: sid " SIDFMT ", op %s, seqid %llu",
-                      SIDARG(outpkt->sid),
-                      opstr(resp->hdr.op),
-                      (unsigned long long) le64_to_cpu(outpkt->seqid));
+       HAIL_DEBUG(&srv_log, "new_sess err: sid " SIDFMT ", op %s, seqid %llu",
+               SIDARG(outpkt->sid), opstr(resp->hdr.op),
+               (unsigned long long) le64_to_cpu(outpkt->seqid));
 
        udp_tx(mp->sock_fd, (struct sockaddr *) &mp->cli->addr,
               mp->cli->addr_len, outpkt, alloc_len);
 
-       if (debugging)
-               applog(LOG_DEBUG, "NEW-SESS failed: %d", resp_rc);
+       HAIL_DEBUG(&srv_log, "NEW-SESS failed: %d", resp_rc);
 }
 
 static void end_sess_done(struct session_outpkt *outpkt)
@@ -971,14 +962,11 @@ static int sess_load_db(GHashTable *ss, DB_TXN *txn)
 
                session_decode(sess, &raw_sess);
 
-               if (debugging)
-                       applog(LOG_DEBUG,
-                              " loaded sid " SIDFMT " next seqid %llu/%llu",
-                              SIDARG(sess->sid),
-                              (unsigned long long)
-                                       le64_to_cpu(sess->next_seqid_out),
-                              (unsigned long long)
-                                       le64_to_cpu(sess->next_seqid_in));
+               HAIL_DEBUG(&srv_log, " loaded sid " SIDFMT
+                       " next seqid %llu/%llu",
+                       SIDARG(sess->sid),
+                       (unsigned long long) le64_to_cpu(sess->next_seqid_out),
+                       (unsigned long long) le64_to_cpu(sess->next_seqid_in));
 
                g_hash_table_insert(ss, sess->sid, sess);
 
diff --git a/server/util.c b/server/util.c
index 36fa219..9fcfe80 100644
--- a/server/util.c
+++ b/server/util.c
@@ -31,6 +31,7 @@
 #include <stdlib.h>
 #include <syslog.h>
 #include "cld.h"
+#include <hail_log.h>
 
 int write_pid_file(const char *pid_fn)
 {
@@ -47,8 +48,9 @@ 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;
-               applog(LOG_ERR, "Cannot open PID file %s: %s",
-                      pid_fn, strerror(err));
+
+               HAIL_ERR(&srv_log, "Cannot open PID file %s: %s",
+                       pid_fn, strerror(err));
                return -err;
        }
 
@@ -59,11 +61,11 @@ int write_pid_file(const char *pid_fn)
        if (fcntl(fd, F_SETLK, &lock) != 0) {
                err = errno;
                if (err == EAGAIN) {
-                       applog(LOG_ERR, "PID file %s is already locked",
-                              pid_fn);
+                       HAIL_ERR(&srv_log, "PID file %s is already locked",
+                               pid_fn);
                } else {
-                       applog(LOG_ERR, "Cannot lock PID file %s: %s",
-                              pid_fn, strerror(err));
+                       HAIL_ERR(&srv_log, "Cannot lock PID file %s: %s",
+                               pid_fn, strerror(err));
                }
                close(fd);
                return -err;
@@ -76,8 +78,8 @@ int write_pid_file(const char *pid_fn)
                ssize_t rc = write(fd, s, bytes);
                if (rc < 0) {
                        err = errno;
-                       applog(LOG_ERR, "PID number write failed: %s",
-                              strerror(err));
+                       HAIL_ERR(&srv_log, "PID number write failed: %s",
+                               strerror(err));
                        goto err_out;
                }
 
@@ -88,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;
-               applog(LOG_ERR, "PID file fsync failed: %s", strerror(err));
+               HAIL_ERR(&srv_log, "PID file fsync failed: %s", strerror(err));
                goto err_out;
        }
 
@@ -102,7 +104,7 @@ err_out:
 
 void syslogerr(const char *prefix)
 {
-       applog(LOG_ERR, "%s: %s", prefix, strerror(errno));
+       HAIL_ERR(&srv_log, "%s: %s", prefix, strerror(errno));
 }
 
 int fsetflags(const char *prefix, int fd, int or_flags)
@@ -112,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) {
-               applog(LOG_ERR, "%s F_GETFL: %s", prefix, strerror(errno));
+               HAIL_ERR(&srv_log, "%s F_GETFL: %s", prefix, strerror(errno));
                return -errno;
        }
 
@@ -123,8 +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) {
-                       applog(LOG_ERR, "%s F_SETFL: %s", prefix,
-                              strerror(errno));
+                       HAIL_ERR(&srv_log, "%s F_SETFL: %s", prefix,
+                               strerror(errno));
                        rc = -errno;
                }
 
-- 
1.6.2.5

--
To unsubscribe from this list: send the line "unsubscribe hail-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to