diff options
| author | Mohammed Junaid <junaid@redhat.com> | 2012-05-11 12:51:38 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vijay@gluster.com> | 2012-05-18 00:50:31 -0700 | 
| commit | 19394ef5f133d18aea757129bd903307814f1afb (patch) | |
| tree | 91e87babd62632946c55ecd4214fbec07086d964 /xlators/protocol/client/src | |
| parent | 80a2d2752fcc363cba04a7421451cbe000edd6c5 (diff) | |
protocol/client: Concatinate the graph uuid along with process uuid in
setlk_version.
Change-Id: Idec06c5ef1d440864e465f008a38c86395b52aba
BUG: 820831
Signed-off-by: Mohammed Junaid <junaid@redhat.com>
Reviewed-on: http://review.gluster.com/3314
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/protocol/client/src')
| -rw-r--r-- | xlators/protocol/client/src/client-handshake.c | 28 | 
1 files changed, 18 insertions, 10 deletions
diff --git a/xlators/protocol/client/src/client-handshake.c b/xlators/protocol/client/src/client-handshake.c index eaca65491..d058986ba 100644 --- a/xlators/protocol/client/src/client-handshake.c +++ b/xlators/protocol/client/src/client-handshake.c @@ -454,13 +454,13 @@ client_set_lk_version_cbk (struct rpc_req *req, struct iovec *iov,          ret = 0;  out: -        //TODO: Check for all released fdctx and destroy them          if (fr)                  STACK_DESTROY (fr->root);          return ret;  } +//TODO: Check for all released fdctx and destroy them  int  client_set_lk_version (xlator_t *this)  { @@ -469,16 +469,24 @@ client_set_lk_version (xlator_t *this)          call_frame_t       *frame    = NULL;          gf_set_lk_ver_req   req      = {0, }; +        GF_VALIDATE_OR_GOTO ("client", this, err); +          conf = (clnt_conf_t *) this->private;          req.lk_ver = client_get_lk_ver (conf); -        req.uid    = this->ctx->process_uuid; - -        gf_log (this->name, GF_LOG_DEBUG, "Sending SET_LK_VERSION"); +        ret = gf_asprintf (&req.uid, "%s-%s-%d", +                           this->ctx->process_uuid, this->name, +                           this->graph->id); +        if (ret == -1) +                goto err;          frame = create_frame (this, this->ctx->pool); -        if (!frame) +        if (!frame) { +                ret = -1;                  goto out; +        } + +        gf_log (this->name, GF_LOG_DEBUG, "Sending SET_LK_VERSION");          ret = client_submit_request (this, &req, frame,                                       conf->handshake, @@ -487,11 +495,11 @@ client_set_lk_version (xlator_t *this)                                       NULL, NULL, 0, NULL, 0, NULL,                                       (xdrproc_t)xdr_gf_set_lk_ver_req);  out: -        if (ret < 0) { -                //TODO: Check for all released fdctx and destroy them -                gf_log (this->name, GF_LOG_WARNING, -                        "Failed to send SET_LK_VERSION to server"); -        } +        GF_FREE (req.uid); +        return ret; +err: +        gf_log (this->name, GF_LOG_WARNING, +                "Failed to send SET_LK_VERSION to server");          return ret;  }  | 
