summaryrefslogtreecommitdiffstats
path: root/xlators/features/index
diff options
context:
space:
mode:
authorRavishankar N <ravishankar@redhat.com>2017-06-15 15:36:07 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2017-06-19 05:16:53 +0000
commitb58a15948fb3fc37b6c0b70171482f50ed957f42 (patch)
treeb046fe37593ebeea35d5a71daf41e4210bd21843 /xlators/features/index
parent26ca39ccf0caf0d55c88b05396883dd10ab66dc4 (diff)
index: Do not proceed with init if brick is not mounted
..or else when a volume start force is given, we end up creating /brick-path/.glusterfs/indices folder and various subdirs under it and eventually starting the brick process. As a part of this patch, glusterd_get_index_basepath() is added in glusterd, who will then use it to create the basepath during volume-create, add-brick, replace-brick and reset-brick. It also uses this function to set the 'index-base' xlator option for the index translator. Change-Id: Id018cf3cb6f1e2e35b5c4cf438d1e939025cb0fc BUG: 1457202 Signed-off-by: Ravishankar N <ravishankar@redhat.com> Reviewed-on: https://review.gluster.org/17426 Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'xlators/features/index')
-rw-r--r--xlators/features/index/src/index.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/xlators/features/index/src/index.c b/xlators/features/index/src/index.c
index 59af418fca2..cb81b16f636 100644
--- a/xlators/features/index/src/index.c
+++ b/xlators/features/index/src/index.c
@@ -2336,6 +2336,14 @@ init (xlator_t *this)
}
GF_OPTION_INIT ("index-base", priv->index_basepath, path, out);
+ if (gf_lstat_dir (priv->index_basepath, NULL) != 0) {
+ ret = -1;
+ gf_msg (this->name, GF_LOG_ERROR, errno,
+ INDEX_MSG_INDEX_DIR_CREATE_FAILED,
+ "Failed to find index basepath %s.",
+ priv->index_basepath);
+ goto out;
+ }
GF_OPTION_INIT ("xattrop64-watchlist", watchlist, str, out);
ret = index_make_xattrop_watchlist (this, priv, watchlist,