diff options
author | Sanju Rakonde <srakonde@redhat.com> | 2018-11-06 19:44:16 +0530 |
---|---|---|
committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2018-11-08 17:07:42 +0000 |
commit | b651cb3e612214c8fdb434af2b95ca0c018b5c36 (patch) | |
tree | ba83973727ccd9ef2cf7b6c064fbcdfd150dd0ed /xlators/mgmt/glusterd/src/glusterd-utils.c | |
parent | 7462a4dd92ea97b399d2321973ecdff0791ce3bd (diff) |
glusterd: allow shared-storage to use bricks under glusterd working directory
With commit 44e4db, we are not allowing user to create a volume
using glusterd's working directory as a brick or any sub directory
under glusterd's working directory as a brick.This has broken
shared-storage since the volume "gluster-shared-storage" is
created using the bricks under glusterd's working directory.
With this patch, we let the "gluster-shared-storage" volume
to use bricks under glusterd's working directory.
> BUG: bz#1647029
> Change-Id: Ifcbcf4576eea12cf46f199dea287b29bd3ec3bfd
> Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
(cherry picked from commit bdb4ca184913c82ccf9552298f5d5b597794f2aa)
fixes: bz#1647801
Change-Id: Ifcbcf4576eea12cf46f199dea287b29bd3ec3bfd
Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 40109ccb954..9bb3bc4ba33 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -1468,8 +1468,8 @@ out: int glusterd_validate_and_create_brickpath(glusterd_brickinfo_t *brickinfo, - uuid_t volume_id, char **op_errstr, - gf_boolean_t is_force, + uuid_t volume_id, char *volname, + char **op_errstr, gf_boolean_t is_force, gf_boolean_t ignore_partition) { int ret = -1; @@ -1544,8 +1544,9 @@ glusterd_validate_and_create_brickpath(glusterd_brickinfo_t *brickinfo, parentdir, strerror(errno)); goto out; } - - if (sizeof(GLUSTERD_DEFAULT_WORKDIR) <= (strlen(brickinfo->path) + 1) && + if (strncmp(volname, GLUSTER_SHARED_STORAGE, + SLEN(GLUSTER_SHARED_STORAGE)) && + sizeof(GLUSTERD_DEFAULT_WORKDIR) <= (strlen(brickinfo->path) + 1) && !strncmp(brickinfo->path, GLUSTERD_DEFAULT_WORKDIR, (sizeof(GLUSTERD_DEFAULT_WORKDIR) - 1))) { len = snprintf(msg, sizeof(msg), |