diff options
author | Krishnan Parthasarathi <kp@gluster.com> | 2012-05-07 13:31:24 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-05-16 03:53:52 -0700 |
commit | cb83c85511fc7fbfe34f97baebdda9d2bb309511 (patch) | |
tree | 3ed6a68637d6000a8d3a7326869fbf8a00415593 /xlators/mgmt/glusterd/src/glusterd-utils.h | |
parent | 74fbeb2d1a997a0238aa15ab2dccc98764b667a2 (diff) |
glusterd: Fixed glusterd_brick_create_path algo.
- check if any prefix of the brick path has "trusted.gfid"
or "trusted.glusterfs.volume-id" set.
- set trusted.glusterfs.volume-id on the bricks as soon as
its induction into the volume is settled. Earlier, the setting of
"volume-id" used to happen during the first run of the brick process,
leaving of window for bricks part of one volume to be (ab)used by another
volume inadvertently.
- removed creation of brick directory (if missing), during start volume force.
This is to avoid directory creation as part 'force'ful starting of volume
and leave the responsibility with the user, who understands the
'availability' of the export directory (brick) better.
Change-Id: I4237ec4ea7a4e38a7501027e7de7112edd67de8c
BUG: 812214
Signed-off-by: Krishnan Parthasarathi <kp@gluster.com>
Reviewed-on: http://review.gluster.com/3280
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.h')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.h b/xlators/mgmt/glusterd/src/glusterd-utils.h index 7b71f05a459..d149cb9d0dd 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.h +++ b/xlators/mgmt/glusterd/src/glusterd-utils.h @@ -57,6 +57,15 @@ typedef struct glusterd_voldict_ctx_ { char *val_name; } glusterd_voldict_ctx_t; +/* Moved the definition from gluster-utils.c avoiding + * extern'ing in multiple places. + * (Indeed, XXX: we'd rather need a general + * "mkdir -p" like routine in libglusterfs) +*/ + +int +mkdir_if_missing (char *path, gf_boolean_t *new); + int glusterd_compare_lines (const void *a, const void *b); @@ -319,7 +328,7 @@ glusterd_rb_check_bricks (glusterd_volinfo_t *volinfo, glusterd_brickinfo_t *dst_brick); int -glusterd_brick_create_path (char *host, char *path, uuid_t uuid, mode_t mode, +glusterd_brick_create_path (char *host, char *path, uuid_t uuid, char **op_errstr); int glusterd_sm_tr_log_transition_add (glusterd_sm_tr_log_t *log, |