diff options
| author | Ravishankar N <ravishankar@redhat.com> | 2014-05-16 15:41:33 +0530 | 
|---|---|---|
| committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2014-05-17 01:46:17 -0700 | 
| commit | f4a391e5a44950b0468af082255b9f5abf52b10b (patch) | |
| tree | c0ad8e56213dbe845b29f834330092650d51d207 | |
| parent | 6a9a52c932bc5be469af119e5b0b3afb8046f625 (diff) | |
cluster/afr: move messages to new logging framework
Change important (from a diagnostics point of view) log messages to use
the gf_msg() framework.
Change-Id: I0a58184bbb78989db149e67f07c140a21c781bc2
BUG: 1075611
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/7784
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
| -rw-r--r-- | libglusterfs/src/glfs-message-id.h | 4 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/Makefile.am | 2 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr-common.c | 19 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr-lk-common.c | 4 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr-messages.h | 61 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr-open.c | 4 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr-read-txn.c | 7 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-common.c | 3 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-name.c | 3 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr-transaction.c | 5 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr.c | 5 | ||||
| -rw-r--r-- | xlators/cluster/afr/src/afr.h | 1 | 
12 files changed, 97 insertions, 21 deletions
diff --git a/libglusterfs/src/glfs-message-id.h b/libglusterfs/src/glfs-message-id.h index f391fa07e35..e29142ed615 100644 --- a/libglusterfs/src/glfs-message-id.h +++ b/libglusterfs/src/glfs-message-id.h @@ -57,6 +57,10 @@                                             GLFS_MSGID_SEGMENT + \                                             GLFS_MSGID_SEGMENT +#define GLFS_MSGID_COMP_AFR                GLFS_MSGID_GLUSTERD_END +#define GLFS_MSGID_COMP_AFR_END            GLFS_MSGID_COMP_AFR +\ +                                           GLFS_MSGID_SEGMENT +  /* --- new segments for messages goes above this line --- */  #endif /* !_GLFS_MESSAGE_ID_H_ */ diff --git a/xlators/cluster/afr/src/Makefile.am b/xlators/cluster/afr/src/Makefile.am index ea5a90abbdb..ac66bf3bb11 100644 --- a/xlators/cluster/afr/src/Makefile.am +++ b/xlators/cluster/afr/src/Makefile.am @@ -21,7 +21,7 @@ pump_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la  noinst_HEADERS = afr.h afr-transaction.h afr-inode-write.h afr-inode-read.h \  	afr-dir-read.h afr-dir-write.h afr-self-heal.h afr-mem-types.h \  	afr-common.c afr-self-heald.h pump.h \ -	$(top_builddir)/xlators/lib/src/libxlator.h +	$(top_builddir)/xlators/lib/src/libxlator.h afr-messages.h  AM_CPPFLAGS = $(GF_CPPFLAGS) \  	-I$(top_srcdir)/libglusterfs/src -I$(top_srcdir)/xlators/lib/src \ diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index 4c7692bd671..11aae4617e7 100644 --- a/xlators/cluster/afr/src/afr-common.c +++ b/xlators/cluster/afr/src/afr-common.c @@ -46,7 +46,7 @@  #include "afr-transaction.h"  #include "afr-self-heal.h"  #include "afr-self-heald.h" - +#include "afr-messages.h"  call_frame_t *  afr_copy_frame (call_frame_t *base) @@ -3178,8 +3178,8 @@ afr_notify (xlator_t *this, int32_t event,           */          idx = find_child_index (this, data);          if (idx < 0) { -                gf_log (this->name, GF_LOG_ERROR, "Received child_up " -                        "from invalid subvolume"); +                gf_msg (this->name, GF_LOG_ERROR, 0, AFR_MSG_INVALID_CHILD_UP, +                        "Received child_up from invalid subvolume");                  goto out;          } @@ -3207,7 +3207,8 @@ afr_notify (xlator_t *this, int32_t event,                                  if (priv->child_up[i] == 1)                                          up_children++;                          if (up_children == 1) { -                                gf_log (this->name, GF_LOG_INFO, +                                gf_msg (this->name, GF_LOG_INFO, 0, +                                        AFR_MSG_SUBVOL_UP,                                          "Subvolume '%s' came back up; "                                          "going online.", ((xlator_t *)data)->name);                          } else { @@ -3245,7 +3246,8 @@ afr_notify (xlator_t *this, int32_t event,                                  if (priv->child_up[i] == 0)                                          down_children++;                          if (down_children == priv->child_count) { -                                gf_log (this->name, GF_LOG_ERROR, +                                gf_msg (this->name, GF_LOG_ERROR, 0, +                                        AFR_MSG_ALL_SUBVOLS_DOWN,                                          "All subvolumes are down. Going offline "                                          "until atleast one of them comes back up.");                          } else { @@ -3286,10 +3288,11 @@ afr_notify (xlator_t *this, int32_t event,          if (priv->quorum_count) {                  has_quorum = afr_has_quorum (priv->child_up, this);                  if (!had_quorum && has_quorum) -                        gf_log (this->name, GF_LOG_INFO, "Client-quorum" -                                " is met"); +                        gf_msg (this->name, GF_LOG_INFO, 0, AFR_MSG_QUORUM_MET, +                                "Client-quorum is met");                  if (had_quorum && !has_quorum) -                        gf_log (this->name, GF_LOG_WARNING, +                        gf_msg (this->name, GF_LOG_WARNING, 0, +                                AFR_MSG_QUORUM_FAIL,                                  "Client-quorum is not met");          } diff --git a/xlators/cluster/afr/src/afr-lk-common.c b/xlators/cluster/afr/src/afr-lk-common.c index a2a758f35af..e3e70007706 100644 --- a/xlators/cluster/afr/src/afr-lk-common.c +++ b/xlators/cluster/afr/src/afr-lk-common.c @@ -654,7 +654,9 @@ afr_unlock_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          priv = this->private;          if (op_ret < 0 && op_errno != ENOTCONN && op_errno != EBADFD) { -                gf_log (this->name, GF_LOG_INFO, "%s: unlock failed on subvolume %s " +                gf_msg (this->name, GF_LOG_INFO, op_errno, +                        AFR_MSG_ENTRY_UNLOCK_FAIL, +                        "%s: unlock failed on subvolume %s "                          "with lock owner %s", local->loc.path,                          priv->children[child_index]->name,                          lkowner_utoa (&frame->root->lk_owner)); diff --git a/xlators/cluster/afr/src/afr-messages.h b/xlators/cluster/afr/src/afr-messages.h new file mode 100644 index 00000000000..a076161aa9c --- /dev/null +++ b/xlators/cluster/afr/src/afr-messages.h @@ -0,0 +1,61 @@ +/* + Copyright (c) 2014 Red Hat, Inc. <http://www.redhat.com> + This file is part of GlusterFS. + + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. + */ + +#ifndef _AFR_MESSAGES_H_ +#define _AFR_MESSAGES_H_ + +#ifndef _CONFIG_H +#define _CONFIG_H +#include "config.h" +#endif + +#include "glfs-message-id.h" + +/* NOTE: Rules for message additions + * 1) Each instance of a message is _better_ left with a unique message ID, even + * if the message format is the same. Reasoning is that, if the message + * format needs to change in one instance, the other instances are not + * impacted or the new change does not change the ID of the instance being + * modified. + * 2) Addition of a message, + * - Should increment the GLFS_NUM_MESSAGES + * - Append to the list of messages defined, towards the end + * - Retain macro naming as glfs_msg_X (for redability across developers) + * NOTE: Rules for message format modifications + * 3) Check acorss the code if the message ID macro in question is reused + * anywhere. If reused then then the modifications should ensure correctness + * everywhere, or needs a new message ID as (1) above was not adhered to. If + * not used anywhere, proceed with the required modification. + * NOTE: Rules for message deletion + * 4) Check (3) and if used anywhere else, then cannot be deleted. If not used + * anywhere, then can be deleted, but will leave a hole by design, as + * addition rules specify modification to the end of the list and not filling + * holes. + */ + +#define GLFS_COMP_BASE_AFR GLFS_MSGID_COMP_AFR +#define GLFS_NUM_MESSAGES 9 +#define GLFS_MSGID_END (GLFS_COMP_BASE_AFR + GLFS_NUM_MESSAGES + 1) + +#define glfs_msg_start_x GLFS_COMP_BASE_AFR, "Invalid: Start of messages" + +#define AFR_MSG_QUORUM_FAIL             (GLFS_COMP_BASE_AFR + 1) +#define AFR_MSG_QUORUM_MET              (GLFS_COMP_BASE_AFR + 2) +#define AFR_MSG_QUORUM_OVERRIDE         (GLFS_COMP_BASE_AFR + 3) +#define AFR_MSG_INVALID_CHILD_UP        (GLFS_COMP_BASE_AFR + 4) +#define AFR_MSG_SUBVOL_UP               (GLFS_COMP_BASE_AFR + 5) +#define AFR_MSG_ALL_SUBVOLS_DOWN        (GLFS_COMP_BASE_AFR + 6) +#define AFR_MSG_ENTRY_UNLOCK_FAIL       (GLFS_COMP_BASE_AFR + 7) +#define AFR_MSG_SPLIT_BRAIN             (GLFS_COMP_BASE_AFR + 8) +#define AFR_MSG_OPEN_FAIL               (GLFS_COMP_BASE_AFR + 9) + +#define glfs_msg_end_x GLFS_MSGID_END, "Invalid: End of messages" + +#endif /* !_AFR_MESSAGES_H_ */ diff --git a/xlators/cluster/afr/src/afr-open.c b/xlators/cluster/afr/src/afr-open.c index 83da86053f4..f96f41c0dd9 100644 --- a/xlators/cluster/afr/src/afr-open.c +++ b/xlators/cluster/afr/src/afr-open.c @@ -186,8 +186,8 @@ afr_openfd_fix_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                          "successfully on subvolume %s", local->loc.path,                          priv->children[child_index]->name);          } else { -                gf_log (this->name, GF_LOG_ERROR, "Failed to open %s " -                        "on subvolume %s", local->loc.path, +                gf_msg (this->name, GF_LOG_ERROR, op_errno, AFR_MSG_OPEN_FAIL, +                        "Failed to open %s on subvolume %s", local->loc.path,                          priv->children[child_index]->name);          } diff --git a/xlators/cluster/afr/src/afr-read-txn.c b/xlators/cluster/afr/src/afr-read-txn.c index 186f68c3359..2585c443e1c 100644 --- a/xlators/cluster/afr/src/afr-read-txn.c +++ b/xlators/cluster/afr/src/afr-read-txn.c @@ -212,9 +212,10 @@ afr_read_txn (call_frame_t *frame, xlator_t *this, inode_t *inode,  							local->readable);  	if (read_subvol < 0 || read_subvol > priv->child_count) { -		gf_log (this->name, GF_LOG_WARNING, "Unreadable subvolume %d " -			"found with event generation %d", read_subvol, -			event_generation); +		gf_msg (this->name, GF_LOG_WARNING, 0, AFR_MSG_SPLIT_BRAIN, +                       "Unreadable subvolume %d found with event generation " +                       "%d. (Possible split-brain)", +                        read_subvol, event_generation);  		goto refresh;  	} diff --git a/xlators/cluster/afr/src/afr-self-heal-common.c b/xlators/cluster/afr/src/afr-self-heal-common.c index df14cbb0fb7..56691e27752 100644 --- a/xlators/cluster/afr/src/afr-self-heal-common.c +++ b/xlators/cluster/afr/src/afr-self-heal-common.c @@ -844,7 +844,8 @@ afr_selfheal_unlocked_inspect (call_frame_t *frame, xlator_t *this,  		}  		if (!IA_EQUAL (first, replies[i].poststat, type)) { -			gf_log (this->name, GF_LOG_ERROR, +			gf_msg (this->name, GF_LOG_ERROR, 0, +                                AFR_MSG_SPLIT_BRAIN,  				"TYPE mismatch %d vs %d on %s for gfid:%s",  				(int) first.ia_type,  				(int) replies[i].poststat.ia_type, diff --git a/xlators/cluster/afr/src/afr-self-heal-name.c b/xlators/cluster/afr/src/afr-self-heal-name.c index ce80b8da393..e3ff705e315 100644 --- a/xlators/cluster/afr/src/afr-self-heal-name.c +++ b/xlators/cluster/afr/src/afr-self-heal-name.c @@ -215,7 +215,8 @@ __afr_selfheal_name_do (call_frame_t *frame, xlator_t *this, inode_t *parent,  			if (gfid_idx != -1 &&  			    (sources[gfid_idx] || source == -1) &&  			    uuid_compare (gfid, replies[i].poststat.ia_gfid)) { -				gf_log (this->name, GF_LOG_WARNING, +				gf_msg (this->name, GF_LOG_WARNING, 0, +                                        AFR_MSG_SPLIT_BRAIN,  					"GFID mismatch for <gfid:%s>/%s "  					"%s on %s and %s on %s",  					uuid_utoa (pargfid), bname, diff --git a/xlators/cluster/afr/src/afr-transaction.c b/xlators/cluster/afr/src/afr-transaction.c index 270e2212913..a2eab3494e3 100644 --- a/xlators/cluster/afr/src/afr-transaction.c +++ b/xlators/cluster/afr/src/afr-transaction.c @@ -548,8 +548,9 @@ afr_handle_quorum (call_frame_t *frame)                  file = local->loc.path;          } -        gf_log (frame->this->name, GF_LOG_WARNING, "%s: Failing %s as quorum " -                "is not met", file, gf_fop_list[local->op]); +        gf_msg (frame->this->name, GF_LOG_WARNING, 0, AFR_MSG_QUORUM_FAIL, +                "%s: Failing %s as quorum is not met", +                file, gf_fop_list[local->op]);          for (i = 0; i < priv->child_count; i++) {                  if (local->transaction.pre_op[i]) diff --git a/xlators/cluster/afr/src/afr.c b/xlators/cluster/afr/src/afr.c index 6af136e9163..2c0ff05fd78 100644 --- a/xlators/cluster/afr/src/afr.c +++ b/xlators/cluster/afr/src/afr.c @@ -85,7 +85,7 @@ void  fix_quorum_options (xlator_t *this, afr_private_t *priv, char *qtype)  {          if (priv->quorum_count && strcmp(qtype,"fixed")) { -                gf_log(this->name,GF_LOG_WARNING, +                gf_msg (this->name,GF_LOG_WARNING, 0, AFR_MSG_QUORUM_OVERRIDE,                         "quorum-type %s overriding quorum-count %u",                         qtype, priv->quorum_count);          } @@ -181,7 +181,8 @@ reconfigure (xlator_t *this, dict_t *options)                            uint32, out);          fix_quorum_options(this,priv,qtype);          if (priv->quorum_count && !afr_has_quorum (priv->child_up, this)) -                gf_log (this->name, GF_LOG_WARNING, "Client-quorum is not met"); +                gf_msg (this->name, GF_LOG_WARNING, 0, AFR_MSG_QUORUM_FAIL, +                        "Client-quorum is not met");  	GF_OPTION_RECONF ("post-op-delay-secs", priv->post_op_delay_secs, options, diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h index 674ea0bf72e..c5b326cee06 100644 --- a/xlators/cluster/afr/src/afr.h +++ b/xlators/cluster/afr/src/afr.h @@ -26,6 +26,7 @@  #include "syncop.h"  #include "afr-self-heald.h" +#include "afr-messages.h"  #define AFR_XATTR_PREFIX "trusted.afr"  #define AFR_PATHINFO_HEADER "REPLICATE:"  | 
