summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrishnan Parthasarathi <kparthas@redhat.com>2014-09-03 10:29:07 +0530
committerKaushal M <kaushal@redhat.com>2014-09-03 03:16:44 -0700
commit2c4c1918e3a65f1b8a30b2e321c325c3c3aed950 (patch)
tree1027e1501d6c76c7cf43b33c8afc7edf72953c9b
parent312b339190b7b8f2e38cdd210bf2ee71e53b287e (diff)
glusterd: Improve debugging experience for glusterd locks
Today, when glusterd's internal locking mechanism fails with invalid type or when another competing lock is being held, the log message doesn't provide enough information directly as to which command saw this (first). Following is a snippet of how a failure would look in the log file. This would greatly assist in debugging. [2014-09-03 04:57:58.549418] E [glusterd-locks.c:520:glusterd_mgmt_v3_lock] (-->/usr/local/lib/glusterfs/3.7dev/xlator/mgmt/glusterd.so(__glusterd_handle_create_volume+0x801) [0x7f30b071e651] (-->/usr/local/lib/glusterfs/3.7dev/xlator/mgmt/glusterd.so(glusterd_op_begin_synctask+0x2c) [0x7f30b072e19c] (-->/usr/local/lib/glusterfs/3.7dev/xlator/mgmt/glusterd.so(gd_sync_task_begin+0x55d) [0x7f30b072de6d]))) 0-management: Invalid entity. Cannot perform locking operation on vol types Change-Id: I0595f49d60e620e8b065f3506bdb147ccee383a7 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com> Reviewed-on: http://review.gluster.org/8580 Reviewed-by: Atin Mukherjee <amukherj@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaushal M <kaushal@redhat.com>
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-locks.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-locks.c b/xlators/mgmt/glusterd/src/glusterd-locks.c
index 28358aa555e..2d1a664ebd2 100644
--- a/xlators/mgmt/glusterd/src/glusterd-locks.c
+++ b/xlators/mgmt/glusterd/src/glusterd-locks.c
@@ -515,7 +515,7 @@ glusterd_mgmt_v3_lock (const char *name, uuid_t uuid, char *type)
is_valid = glusterd_mgmt_v3_is_type_valid (type);
if (is_valid != _gf_true) {
- gf_log (this->name, GF_LOG_ERROR,
+ gf_log_callingfn (this->name, GF_LOG_ERROR,
"Invalid entity. Cannot perform locking "
"operation on %s types", type);
ret = -1;
@@ -543,8 +543,9 @@ glusterd_mgmt_v3_lock (const char *name, uuid_t uuid, char *type)
/* If the lock has already been held for the given volume
* we fail */
if (!uuid_is_null (owner)) {
- gf_log (this->name, GF_LOG_WARNING, "Lock for %s held by %s",
- name, uuid_utoa (owner));
+ gf_log_callingfn (this->name, GF_LOG_WARNING,
+ "Lock for %s held by %s",
+ name, uuid_utoa (owner));
ret = -1;
goto out;
}
@@ -601,7 +602,7 @@ glusterd_mgmt_v3_unlock (const char *name, uuid_t uuid, char *type)
is_valid = glusterd_mgmt_v3_is_type_valid (type);
if (is_valid != _gf_true) {
- gf_log (this->name, GF_LOG_ERROR,
+ gf_log_callingfn (this->name, GF_LOG_ERROR,
"Invalid entity. Cannot perform unlocking "
"operation on %s types", type);
ret = -1;
@@ -628,7 +629,7 @@ glusterd_mgmt_v3_unlock (const char *name, uuid_t uuid, char *type)
}
if (uuid_is_null (owner)) {
- gf_log (this->name, GF_LOG_WARNING,
+ gf_log_callingfn (this->name, GF_LOG_WARNING,
"Lock for %s %s not held", type, name);
ret = -1;
goto out;
@@ -636,9 +637,10 @@ glusterd_mgmt_v3_unlock (const char *name, uuid_t uuid, char *type)
ret = uuid_compare (uuid, owner);
if (ret) {
- gf_log (this->name, GF_LOG_WARNING, "Lock owner mismatch. "
- "Lock for %s %s held by %s",
- type, name, uuid_utoa (owner));
+ gf_log_callingfn (this->name, GF_LOG_WARNING,
+ "Lock owner mismatch. "
+ "Lock for %s %s held by %s",
+ type, name, uuid_utoa (owner));
goto out;
}