diff options
| author | Sanju Rakonde <srakonde@redhat.com> | 2018-09-03 16:26:56 +0530 | 
|---|---|---|
| committer | Sanju Rakonde <srakonde@redhat.com> | 2018-09-08 19:07:06 +0530 | 
| commit | 44e4db05a953a6f231c62225b462470cacb16bd4 (patch) | |
| tree | 1a831a569a154c6fde8eb259a0ab98d86d59ddc3 /xlators | |
| parent | a880d6f6aa7a2979df8aa32b58f716ef0c578d3f (diff) | |
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 <srakonde@redhat.com>
Diffstat (limited to 'xlators')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 9 | 
1 files changed, 9 insertions, 0 deletions
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 "  | 
