diff options
| author | Vijay Bellur <vijay@gluster.com> | 2010-08-10 08:18:47 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2010-08-11 23:46:40 -0700 | 
| commit | ca938bbe6f50fc77cbcfb3ca47efef0feb8e7526 (patch) | |
| tree | 54ca10c1b55e0d616d55a30bcbdaa7061df1e3e2 | |
| parent | ced85cce0700d702640c66829a72822e430f1cca (diff) | |
glusterd: Remove dependency on existence of peers directory
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 1310 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1310
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-store.c | 5 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd.c | 10 | 
2 files changed, 13 insertions, 2 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c index 6ca2f3661cb..6466f9e7f1a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-store.c +++ b/xlators/mgmt/glusterd/src/glusterd-store.c @@ -1047,7 +1047,8 @@ glusterd_store_update_peerinfo (glusterd_peerinfo_t *peerinfo)                          snprintf (filepath, PATH_MAX, "%s/%s", peerdir,                                    peerinfo->hostname);                  } else { -                        GF_ASSERT (peerinfo->uuid || peerinfo->hostname); +                       ret = 0; +                       goto out;                  }          } else {                  uuid_unparse (peerinfo->uuid, str); @@ -1105,7 +1106,7 @@ out:  int32_t  glusterd_store_retrieve_peers (xlator_t *this)  { -        int32_t                 ret = -1; +        int32_t                 ret = 0;          glusterd_conf_t         *priv = NULL;          DIR                     *dir = NULL;          struct dirent           *entry = NULL; diff --git a/xlators/mgmt/glusterd/src/glusterd.c b/xlators/mgmt/glusterd/src/glusterd.c index 5b75c93fadd..7d888d944fb 100644 --- a/xlators/mgmt/glusterd/src/glusterd.c +++ b/xlators/mgmt/glusterd/src/glusterd.c @@ -229,6 +229,16 @@ init (xlator_t *this)                          " ,errno = %d", voldir, errno);          } +        snprintf (voldir, PATH_MAX, "%s/peers", dirname); + +        ret = mkdir (voldir, 0777); + +        if ((-1 == ret) && (errno != EEXIST)) { +                gf_log (this->name, GF_LOG_CRITICAL, +                        "Unable to create peers directory %s" +                        " ,errno = %d", voldir, errno); +        } +          rpc = rpcsvc_init (this->ctx, this->options);          if (rpc == NULL) {                  gf_log (this->name, GF_LOG_ERROR,  | 
