summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/protocol/client/src/client-helpers.c4
-rw-r--r--xlators/protocol/client/src/client.h1
-rw-r--r--xlators/protocol/client/src/client3_1-fops.c9
3 files changed, 12 insertions, 2 deletions
diff --git a/xlators/protocol/client/src/client-helpers.c b/xlators/protocol/client/src/client-helpers.c
index 70dfeba8c..3efadeae2 100644
--- a/xlators/protocol/client/src/client-helpers.c
+++ b/xlators/protocol/client/src/client-helpers.c
@@ -132,6 +132,10 @@ client_local_wipe (clnt_local_t *local)
iobref_unref (local->iobref);
}
+ if (local->name) {
+ GF_FREE (local->name);
+ }
+
mem_put (local);
}
diff --git a/xlators/protocol/client/src/client.h b/xlators/protocol/client/src/client.h
index bf04f942a..64066dd0a 100644
--- a/xlators/protocol/client/src/client.h
+++ b/xlators/protocol/client/src/client.h
@@ -155,6 +155,7 @@ typedef struct client_local {
int32_t cmd;
struct list_head lock_list;
pthread_mutex_t mutex;
+ char *name;
} clnt_local_t;
typedef struct client_args {
diff --git a/xlators/protocol/client/src/client3_1-fops.c b/xlators/protocol/client/src/client3_1-fops.c
index dcf688a0e..c4164a95b 100644
--- a/xlators/protocol/client/src/client3_1-fops.c
+++ b/xlators/protocol/client/src/client3_1-fops.c
@@ -1051,11 +1051,12 @@ out:
if (rsp.op_ret == -1) {
gf_log (this->name, ((op_errno == ENOTSUP) ?
GF_LOG_DEBUG : GF_LOG_WARNING),
- "remote operation failed: %s. Path: %s (%s)",
+ "remote operation failed: %s. Path: %s (%s). Key: %s",
strerror (op_errno),
(local) ? local->loc.path : "--",
(local && local->loc.inode) ?
- uuid_utoa (local->loc.inode->gfid) : "--");
+ uuid_utoa (local->loc.inode->gfid) : "--",
+ (local) ? local->name : "(null)");
}
CLIENT_STACK_UNWIND (getxattr, frame, rsp.op_ret, op_errno, dict, xdata);
@@ -4635,6 +4636,10 @@ client3_1_getxattr (call_frame_t *frame, xlator_t *this,
op_errno = ENOMEM;
goto unwind;
}
+
+ loc_copy (&local->loc, args->loc);
+ if (args->name)
+ local->name = gf_strdup (args->name);
frame->local = local;
rsp_iobref = iobref_new ();