From 540e81676b1011dcf85fbe5cd6739a4f2143b2ab Mon Sep 17 00:00:00 2001 From: Prasanna Kumar Kalever Date: Mon, 5 Feb 2018 15:07:26 +0530 Subject: replace: add replace feature 1. create conf in new node 2. delete conf from old node 3. replace portals from nodes hosting other paths (HA) $ gluster-block create sample/block ha 3 192.168.124.57,192.168.124.26,192.168.124.30 1GiB --json-pretty { "IQN":"iqn.2016-12.org.gluster-block:d516bb5c-5f56-4d9c-96a7-385df19c2e2c", "PORTAL(S)":[ "192.168.124.57:3260", "192.168.124.26:3260", "192.168.124.30:3260" ], "RESULT":"SUCCESS" } $ gluster-block help gluster-block (0.3) usage: gluster-block [] [--json*] commands: [...] replace [force] replace operations. [...] supported JSON formats: --json|--json-plain|--json-spaced|--json-pretty $ gluster-block replace sample/block 192.168.124.26 192.168.124.56 --json-pretty { "NAME":"block", "CREATE SUCCESS":"192.168.124.56", "DELETE SUCCESS":"192.168.124.26", "REPLACE PORTAL SUCCESS ON":[ "192.168.124.57", "192.168.124.30" ], "RESULT":"SUCCESS" } Fixes: #4 Change-Id: I0411d15c407111db0d423052d9a6bc075174bf90 Signed-off-by: Prasanna Kumar Kalever --- utils/common.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'utils/common.c') diff --git a/utils/common.c b/utils/common.c index 98cc0ef..751e2b8 100644 --- a/utils/common.c +++ b/utils/common.c @@ -157,3 +157,43 @@ convertStringToTrillianParse(const char *opt) return -1; } + + +void +blockServerDefFree(blockServerDefPtr blkServers) +{ + size_t i; + + + if (!blkServers) { + return; + } + + for (i = 0; i < blkServers->nhosts; i++) { + GB_FREE(blkServers->hosts[i]); + } + GB_FREE(blkServers->hosts); + GB_FREE(blkServers); +} + + +bool +blockhostIsValid(char *status) +{ + switch (blockMetaStatusEnumParse(status)) { + case GB_CONFIG_SUCCESS: + case GB_CLEANUP_INPROGRESS: + case GB_AUTH_ENFORCEING: + case GB_AUTH_ENFORCED: + case GB_AUTH_ENFORCE_FAIL: + case GB_AUTH_CLEAR_ENFORCED: + case GB_AUTH_CLEAR_ENFORCEING: + case GB_AUTH_CLEAR_ENFORCE_FAIL: + case GB_RP_SUCCESS: + case GB_RP_FAIL: + case GB_RP_INPROGRESS: + return TRUE; + } + + return FALSE; +} -- cgit