From 44e4db05a953a6f231c62225b462470cacb16bd4 Mon Sep 17 00:00:00 2001 From: Sanju Rakonde Date: Mon, 3 Sep 2018 16:26:56 +0530 Subject: glusterd: avoid using glusterd's working directory as a brick Adding checks for avoiding glusterd's working directory used as a brick for volume creation. fixes: bz#853601 Change-Id: I4b16a05f752e92216aa628f542a4fdbf59b3c669 Signed-off-by: Sanju Rakonde --- xlators/mgmt/glusterd/src/glusterd-utils.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'xlators') diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index a46530c532c..1bf682d4fd3 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -1541,6 +1541,15 @@ glusterd_validate_and_create_brickpath (glusterd_brickinfo_t *brickinfo, goto out; } + if (sizeof(GLUSTERD_DEFAULT_WORKDIR) <= (strlen(brickinfo->path) + 1) && + !strncmp(brickinfo->path, GLUSTERD_DEFAULT_WORKDIR, + (sizeof(GLUSTERD_DEFAULT_WORKDIR) - 1))) { + len = snprintf (msg, sizeof (msg), "Brick isn't allowed to be " + "created inside glusterd's working directory."); + ret = -1; + goto out; + } + if (!is_force) { if (brick_st.st_dev != parent_st.st_dev) { len = snprintf (msg, sizeof (msg), "The brick %s:%s " -- cgit