diff options
author | Dan Lambright <dlambrig@redhat.com> | 2015-04-13 02:42:12 +0100 |
---|---|---|
committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2015-04-22 07:51:03 -0700 |
commit | 86b02afab780e559e82399b9e96381d8df594ed6 (patch) | |
tree | e59242b087191dfb6af7b302b18a59206a9cd17c /xlators/mgmt/glusterd/src/glusterd-volgen.c | |
parent | abbc525dd3cbe142753c5b44a2717c1ed6b26723 (diff) |
glusterd: support for tier volumes 'detach start' and 'detach commit'
These commands work in a manner analagous to rebalancing when removing a
brick. The existing migration daemon detects "detach start" and switches
to moving data off the hot tier. While in this state all lookups are
directed to the cold tier.
gluster v detach-tier <vol> start
gluster v detach-tier <vol> commit
The status and stop cli commands shall be submitted separately.
Change-Id: I24fda5cc3ba74f5fb8aa9a3234ad51f18b80a8a0
BUG: 1205540
Signed-off-by: Dan Lambright <dlambrig@redhat.com>
Signed-off-by: root <root@localhost.localdomain>
Signed-off-by: Dan Lambright <dlambrig@redhat.com>
Reviewed-on: http://review.gluster.org/10108
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Tested-by: NetBSD Build System
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-volgen.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volgen.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index ce63e4fc0a4..38c425e8440 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -3025,6 +3025,11 @@ volgen_graph_build_dht_cluster (volgen_graph_t *graph, if (clusters < 0) goto out; + if (volinfo->type == GF_CLUSTER_TYPE_TIER) { + ret = 0; + goto out; + } + dht = first_of (graph); ret = _graph_get_decommissioned_children (dht, volinfo, &decommissioned_children); @@ -3271,6 +3276,7 @@ volume_volgen_graph_build_clusters_tier (volgen_graph_t *graph, int st_type = 0; char st_volname[GD_VOLUME_NAME_MAX]; int dist_count = 0; + char *decommissioned_children = NULL; st_brick_count = volinfo->brick_count; st_replica_count = volinfo->replica_count; @@ -3338,6 +3344,17 @@ volume_volgen_graph_build_clusters_tier (volgen_graph_t *graph, st_type = GF_CLUSTER_TYPE_TIER; + ret = _graph_get_decommissioned_children (xl, volinfo, + &decommissioned_children); + if (ret) + goto out; + if (decommissioned_children) { + ret = xlator_set_option (xl, "decommissioned-bricks", + decommissioned_children); + if (ret) + goto out; + } + out: volinfo->brick_count = st_brick_count; volinfo->replica_count = st_replica_count; |