diff options
| -rw-r--r-- | xlators/protocol/client/src/client-helpers.c | 4 | ||||
| -rw-r--r-- | xlators/protocol/client/src/client.h | 1 | ||||
| -rw-r--r-- | xlators/protocol/client/src/client3_1-fops.c | 9 | 
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 70dfeba8c1a..3efadeae265 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 bf04f942a39..64066dd0add 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 dcf688a0e9f..c4164a95b21 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 ();  | 
