diff options
author | Krishnan Parthasarathi <kparthas@redhat.com> | 2014-09-03 10:29:07 +0530 |
---|---|---|
committer | Kaushal M <kaushal@redhat.com> | 2014-09-03 03:16:44 -0700 |
commit | 2c4c1918e3a65f1b8a30b2e321c325c3c3aed950 (patch) | |
tree | 1027e1501d6c76c7cf43b33c8afc7edf72953c9b /xlators | |
parent | 312b339190b7b8f2e38cdd210bf2ee71e53b287e (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>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-locks.c | 18 |
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; } |