diff options
| author | Krishnan Parthasarathi <kparthas@redhat.com> | 2013-02-27 17:55:47 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2013-03-25 14:50:53 -0700 | 
| commit | 87d03fa7f48af6500cb8277db96ee7f6c690ea1c (patch) | |
| tree | e258152c3b91c09b908dd14a77aba68d0e1f4a08 /xlators/mgmt/glusterd/src/glusterd-replace-brick.c | |
| parent | 544945a128b4de9c6b767939fb4c4c216b095d23 (diff) | |
glusterd: Removed fd leaks in glusterfs_start utility function
PROBLEM:
    The FILE* associated with the pidfile was leaked if
    pmap_registry_search on the brickinfo' path failed.
FIX:
    Eliminates the use of the FILE* that was leaked. Uses
    glusterd_is_service_running utility function in place
    of the earlier attempt to check for the same.
Change-Id: I94082bd5a94b8a6340f8cc11726d3264e364efe6
BUG: 916549
Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-on: http://review.gluster.org/4596
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-replace-brick.c')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-replace-brick.c | 7 | 
1 files changed, 2 insertions, 5 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c index ec69b363763..36f0b10dc6f 100644 --- a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c +++ b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c @@ -210,7 +210,6 @@ glusterd_op_stage_replace_brick (dict_t *dict, char **op_errstr,          dict_t                                  *ctx           = NULL;          glusterd_conf_t                         *priv          = NULL;          char                                    *savetok       = NULL; -        char                                     voldir[PATH_MAX] = {0};          char                                     pidfile[PATH_MAX] = {0};          char                                    *task_id_str = NULL;          xlator_t                                *this = NULL; @@ -443,10 +442,8 @@ glusterd_op_stage_replace_brick (dict_t *dict, char **op_errstr,                          }                  } -                GLUSTERD_GET_VOLUME_DIR (voldir, volinfo, priv); -                GLUSTERD_GET_BRICK_PIDFILE (pidfile, voldir, -                                            src_brickinfo->hostname, -                                            src_brickinfo->path); +                GLUSTERD_GET_BRICK_PIDFILE (pidfile, volinfo, src_brickinfo, +                                            priv);                  if ((replace_op != GF_REPLACE_OP_COMMIT_FORCE) &&                      !glusterd_is_service_running (pidfile, NULL)) {                          snprintf(msg, sizeof(msg), "Source brick %s:%s "  | 
