All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pete Zaitcev <zaitcev@redhat.com>
To: jeff@garzik.org
Cc: Project Hail List <hail-devel@vger.kernel.org>
Subject: [Patch 3/3] tabled: End-to-end verbosity v3
Date: Tue, 13 Apr 2010 14:30:45 -0600	[thread overview]
Message-ID: <20100413143045.13f4d495@redhat.com> (raw)

Signed-Off-By: Pete Zaitcev <zaitcev@redhat.com>

---
 pkg/tabled.sysconf |    2 +-
 server/cldu.c      |    9 ++++++---
 server/server.c    |   22 ++++++++++++++++------
 server/tabled.h    |    3 +--
 4 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/pkg/tabled.sysconf b/pkg/tabled.sysconf
index bbe35fc..d15c537 100644
--- a/pkg/tabled.sysconf
+++ b/pkg/tabled.sysconf
@@ -2,5 +2,5 @@
 #
 
 #example: 
-#OPTS="--debug"
+#OPTS="--debug 1"
 
diff --git a/server/cldu.c b/server/cldu.c
index 5b50a27..a10b8fe 100644
--- a/server/cldu.c
+++ b/server/cldu.c
@@ -82,7 +82,7 @@ static void add_chunk_node(struct cld_session *sp, const char *name);
 
 static struct timeval cldu_rescan_delay = { 50, 0 };
 
-struct hail_log cldu_hail_log = {
+static struct hail_log cldu_hail_log = {
 	.func		= applog,
 };
 
@@ -226,7 +226,8 @@ static int cldu_set_cldc(struct cld_session *sp, int newactive)
 		       hp->host, hp->port);
 
 	sp->nsp = ncld_sess_open(hp->host, hp->port, &error,
-				 cldu_sess_event, sp, "tabled", "tabled");
+				 cldu_sess_event, sp, "tabled", "tabled",
+				 &cldu_hail_log);
 	if (sp->nsp == NULL) {
 		if (error < 1000) {
 			applog(LOG_ERR, "ncld_sess_open(%s,%u) error: %s",
@@ -584,12 +585,14 @@ void cld_init()
 /*
  * This initiates our sole session with a CLD instance.
  */
-int cld_begin(const char *thishost, const char *thisgroup)
+int cld_begin(const char *thishost, const char *thisgroup, int verbose)
 {
 	static struct cld_session *sp = &ses;
 	struct timespec tm;
 	int retry_cnt;
 
+	cldu_hail_log.verbose = verbose;
+
 	evtimer_set(&ses.tm_rescan, cldu_tm_rescan, &ses);
 
 	if (cldu_setgroup(sp, thisgroup, thishost)) {
diff --git a/server/server.c b/server/server.c
index 18b3359..e1b0dbe 100644
--- a/server/server.c
+++ b/server/server.c
@@ -70,8 +70,8 @@ struct server_socket {
 static struct argp_option options[] = {
 	{ "config", 'C', "/etc/tabled.conf", 0,
 	  "Configuration file" },
-	{ "debug", 'D', NULL, 0,
-	  "Enable debug output" },
+	{ "debug", 'D', "LEVEL", 0,
+	  "Set debug output to LEVEL (0 = off, 2 = max)" },
 	{ "stderr", 'E', NULL, 0,
 	  "Switch the log to standard error" },
 	{ "pid", 'P', "FILE", 0,
@@ -90,6 +90,7 @@ static const struct argp argp = { options, parse_opt, NULL, doc };
 
 static bool server_running = true;
 static bool use_syslog = true;
+static int verbose = 0;
 int debugging = 0;
 
 struct server tabled_srv = {
@@ -176,12 +177,22 @@ static struct {
 
 static error_t parse_opt (int key, char *arg, struct argp_state *state)
 {
+	int v;
+
 	switch(key) {
 	case 'C':
 		tabled_srv.config = arg;
 		break;
 	case 'D':
-		debugging = 1;
+		v = atoi(arg);
+		if (v < 0 || v > 2) {
+			fprintf(stderr, "invalid debug level: '%s'\n", arg);
+			argp_usage(state);
+		}
+		if (v >= 1)
+			debugging = 1;
+		if (v >= 2)
+			verbose = 1;
 		break;
 	case 'E':
 		use_syslog = false;
@@ -1886,8 +1897,7 @@ int main (int argc, char *argv[])
 	if (use_syslog)
 		openlog(PROGRAM_NAME, LOG_PID, LOG_LOCAL3);
 	if (debugging)
-		applog(LOG_INFO, "Verbose debug output enabled");
-	cldu_hail_log.verbose = debugging;
+		applog(LOG_INFO, "Debug output enabled");
 
 	/*
 	 * now we can parse the configuration, errors to applog
@@ -1946,7 +1956,7 @@ int main (int argc, char *argv[])
 	if (rc)
 		goto err_out_net;
 
-	if (cld_begin(tabled_srv.ourhost, tabled_srv.group) != 0) {
+	if (cld_begin(tabled_srv.ourhost, tabled_srv.group, verbose) != 0) {
 		rc = 1;
 		goto err_cld_session;
 	}
diff --git a/server/tabled.h b/server/tabled.h
index 3ef4a49..eced4b6 100644
--- a/server/tabled.h
+++ b/server/tabled.h
@@ -295,10 +295,9 @@ extern void cli_in_end(struct client *cli);
 
 /* cldu.c */
 extern void cld_init(void);
-extern int cld_begin(const char *fqdn, const char *group);
+extern int cld_begin(const char *fqdn, const char *group, int verbose);
 extern void cldu_add_host(const char *host, unsigned int port);
 extern void cld_end(void);
-extern struct hail_log cldu_hail_log;
 
 /* util.c */
 extern size_t strlist_len(GList *l);

             reply	other threads:[~2010-04-13 20:30 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-13 20:30 Pete Zaitcev [this message]
2010-04-14  4:59 ` [Patch 3/3] tabled: End-to-end verbosity v3 Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100413143045.13f4d495@redhat.com \
    --to=zaitcev@redhat.com \
    --cc=hail-devel@vger.kernel.org \
    --cc=jeff@garzik.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.