glusterd: use mkdir_p for creating rundir

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: 1234819
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>
This commit is contained in:
Atin Mukherjee 2015-06-23 15:40:32 +05:30 committed by Kaushal M
parent 01e42f25eb
commit 21f2719bf4
2 changed files with 8 additions and 8 deletions

View File

@ -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",

View File

@ -3778,6 +3778,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)) {
@ -3793,13 +3800,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;