diff options
| author | Atin Mukherjee <amukherj@redhat.com> | 2015-06-23 15:40:32 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2015-06-24 17:27:32 -0700 | 
| commit | b1ee65194c7e5c982235b8f3e00e0efb25cf353a (patch) | |
| tree | 53f5c3e1a444da4aff801c6c3c7e74d8da751e4f /xlators | |
| parent | e4fcbc7b812a5f0d0fcf6f87d448fa94fd619afe (diff) | |
glusterd: use mkdir_p for creating rundir
Backport of http://review.gluster.org/11364
snapdsvc initialization is now dependent on all subsequent directories and
volfile creations as per commit 2b9efc9.
However this may not hold true correct for all the cases. While importing a
volume we would need to start the service before the store creation.
To avoid this dependency, use mkdir_p instead of mkdir to create rundir
Change-Id: Ib251043398c40f1b76378e3bc6d0c36c1fe4cca3
BUG: 1235208
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: http://review.gluster.org/11364
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-on: http://review.gluster.org/11377
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-svc-mgmt.c | 2 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 14 | 
2 files changed, 8 insertions, 8 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-svc-mgmt.c b/xlators/mgmt/glusterd/src/glusterd-svc-mgmt.c index 1a68afb56f2..04096a4a116 100644 --- a/xlators/mgmt/glusterd/src/glusterd-svc-mgmt.c +++ b/xlators/mgmt/glusterd/src/glusterd-svc-mgmt.c @@ -23,7 +23,7 @@ glusterd_svc_create_rundir (char *rundir)  {          int ret      = -1; -        ret = mkdir (rundir, 0777); +        ret = mkdir_p (rundir, 0777, _gf_true);          if ((ret == -1) && (EEXIST != errno)) {                  gf_msg (THIS->name, GF_LOG_ERROR, errno,                          GD_MSG_CREATE_DIR_FAILED, "Unable to create rundir %s", diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index bf879cf0895..4d86cac79a8 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -3782,6 +3782,13 @@ glusterd_import_friend_volume (dict_t *peer_data, size_t count)                  (void) glusterd_delete_stale_volume (old_volinfo, new_volinfo);          } +        ret = glusterd_snapdsvc_init (new_volinfo); +        if (ret) { +                gf_log (this->name, GF_LOG_ERROR, "Failed to initialize " +                        "snapdsvc for volume %s", new_volinfo->volname); +                goto out; +        } +          if (glusterd_is_volume_started (new_volinfo)) {                  (void) glusterd_start_bricks (new_volinfo);                  if (glusterd_is_snapd_enabled (new_volinfo)) { @@ -3797,13 +3804,6 @@ glusterd_import_friend_volume (dict_t *peer_data, size_t count)                  goto out;          } -        ret = glusterd_snapdsvc_init (new_volinfo); -        if (ret) { -                gf_log (this->name, GF_LOG_ERROR, "Failed to initialize " -                        "snapdsvc for volume %s", new_volinfo->volname); -                goto out; -        } -          ret = glusterd_create_volfiles_and_notify_services (new_volinfo);          if (ret)                  goto out;  | 
