diff options
author | Ravishankar N <ravishankar@redhat.com> | 2014-02-25 09:17:18 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-03-24 04:36:02 -0700 |
commit | 17454dfea9f3c4d47fcf0b5370a6155f639c8aeb (patch) | |
tree | debfe5a473b5973f506be8c0e8cf4cbb0f23d288 /xlators/mgmt/glusterd/src/glusterd-utils.h | |
parent | 2a77659e9c25cc51fed193147ba3bfea56c5f8f9 (diff) |
glusterd: persistent client xlator/ afr changelog names
-Add a unique brick-id field to glusterd_brickinfo_t
-Persist the id to the brickinfo file
-Use the brick-id as the client xlator name during vol create, add-brick and
replace-brick operations.
-For older volumes,generate the id in-memory during glusterd restore but defer
writing it to the brickinfo file until the next volume set operation.
-send and receive the brick-ids during peer probe.
Feature page:
www.gluster.org/community/documentation/index.php/Features/persistent-AFR-changelog-xattributes
Related patch:
http://review.gluster.org/#/c/7122
Change-Id: Ib7f1570004e33f4144476410eec2b84df4e41448
BUG: 1066778
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/7155
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.h')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.h b/xlators/mgmt/glusterd/src/glusterd-utils.h index cd22b29605a..aebf5fcef05 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.h +++ b/xlators/mgmt/glusterd/src/glusterd-utils.h @@ -29,6 +29,10 @@ #include "protocol-common.h" #define GLUSTERD_SOCK_DIR "/var/run" +#define GLUSTERD_ASSIGN_BRICKID_TO_BRICKINFO(brickinfo, volinfo, brickid) do {\ + sprintf (brickinfo->brick_id, "%s-client-%d",\ + volinfo->volname, brickid);\ +} while (0) struct glusterd_lock_ { uuid_t owner; @@ -124,6 +128,9 @@ int32_t glusterd_service_stop(const char *service, char *pidfile, int sig, gf_boolean_t force_kill); +int +glusterd_get_next_available_brickid (glusterd_volinfo_t *volinfo); + int32_t glusterd_resolve_brick (glusterd_brickinfo_t *brickinfo); |