|
|
a3470f |
From 804ac051cc8be7ff0bf0791c0b53db04edce0926 Mon Sep 17 00:00:00 2001
|
|
|
a3470f |
From: Kaushal M <kmadappa@redhat.com>
|
|
|
a3470f |
Date: Thu, 11 Jun 2015 18:21:17 +0530
|
|
|
a3470f |
Subject: [PATCH 02/74] glusterd: fix op-versions for RHS backwards
|
|
|
a3470f |
compatability
|
|
|
a3470f |
|
|
|
a3470f |
Backport of https://code.engineering.redhat.com/gerrit/#/c/60485/
|
|
|
a3470f |
|
|
|
a3470f |
This change fixes the op-version of different features and checks to maintain
|
|
|
a3470f |
backwards compatability with RHS-3.0 and before.
|
|
|
a3470f |
|
|
|
a3470f |
Label: DOWNSTREAM ONLY
|
|
|
a3470f |
|
|
|
a3470f |
Change-Id: Icb282444da179b12fbd6ed9f491514602f1a38c2
|
|
|
a3470f |
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
|
|
|
a3470f |
Reviewed-on: https://code.engineering.redhat.com/gerrit/70348
|
|
|
a3470f |
---
|
|
|
a3470f |
libglusterfs/src/globals.h | 45 +++--
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 8 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-handler.c | 14 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-op-sm.c | 16 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-peer-utils.c | 8 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-rebalance.c | 4 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-replace-brick.c | 4 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-rpc-ops.c | 6 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-sm.c | 2 +-
|
|
|
a3470f |
.../mgmt/glusterd/src/glusterd-snapshot-utils.c | 12 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-snapshot.c | 4 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-store.c | 27 +--
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-syncop.c | 2 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-tier.c | 2 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-utils.c | 8 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-volume-ops.c | 12 +-
|
|
|
a3470f |
xlators/mgmt/glusterd/src/glusterd-volume-set.c | 198 +++++++++++----------
|
|
|
a3470f |
17 files changed, 193 insertions(+), 179 deletions(-)
|
|
|
a3470f |
|
|
|
a3470f |
diff --git a/libglusterfs/src/globals.h b/libglusterfs/src/globals.h
|
|
|
a3470f |
index 365183d..bd7cffe 100644
|
|
|
a3470f |
--- a/libglusterfs/src/globals.h
|
|
|
a3470f |
+++ b/libglusterfs/src/globals.h
|
|
|
a3470f |
@@ -18,23 +18,28 @@
|
|
|
a3470f |
#define GD_MIN_OP_VERSION_KEY "minimum-operating-version"
|
|
|
a3470f |
#define GD_MAX_OP_VERSION_KEY "maximum-operating-version"
|
|
|
a3470f |
|
|
|
a3470f |
-/* Gluster versions - OP-VERSION mapping
|
|
|
a3470f |
+/* RHS versions - OP-VERSION mapping
|
|
|
a3470f |
*
|
|
|
a3470f |
- * 3.3.x - 1
|
|
|
a3470f |
- * 3.4.x - 2
|
|
|
a3470f |
- * 3.5.0 - 3
|
|
|
a3470f |
- * 3.5.1 - 30501
|
|
|
a3470f |
- * 3.6.0 - 30600
|
|
|
a3470f |
- * 3.7.0 - 30700
|
|
|
a3470f |
- * 3.7.1 - 30701
|
|
|
a3470f |
- * 3.7.2 - 30702
|
|
|
a3470f |
+ * RHS-2.0 Z - 1
|
|
|
a3470f |
+ * RHS-2.1 Z - 2
|
|
|
a3470f |
+ * RHS-2.1 u5 - 20105
|
|
|
a3470f |
+ * RHS-3.0 - 30000
|
|
|
a3470f |
+ * RHS-3.0.4 - 30004
|
|
|
a3470f |
+ * RHGS-3.1 - 30702
|
|
|
a3470f |
*
|
|
|
a3470f |
- * Starting with Gluster v3.6, the op-version will be multi-digit integer values
|
|
|
a3470f |
- * based on the Glusterfs version, instead of a simply incrementing integer
|
|
|
a3470f |
- * value. The op-version for a given X.Y.Z release will be an integer XYZ, with
|
|
|
a3470f |
- * Y and Z 2 digit always 2 digits wide and padded with 0 when needed. This
|
|
|
a3470f |
- * should allow for some gaps between two Y releases for backports of features
|
|
|
a3470f |
- * in Z releases.
|
|
|
a3470f |
+ *
|
|
|
a3470f |
+ * NOTE:
|
|
|
a3470f |
+ * Starting with RHS-3.0, the op-version will be multi-digit integer values
|
|
|
a3470f |
+ * based on the RHS version, instead of a simply incrementing integer value. The
|
|
|
a3470f |
+ * op-version for a given RHS X(Major).Y(Minor).Z(Update) release will be an
|
|
|
a3470f |
+ * integer with digits XYZ. The Y and Z values will be 2 digits wide always
|
|
|
a3470f |
+ * padded with 0 as needed. This should allow for some gaps between two Y
|
|
|
a3470f |
+ * releases for backports of features in Z releases.
|
|
|
a3470f |
+ *
|
|
|
a3470f |
+ * NOTE:
|
|
|
a3470f |
+ * Starting with RHGS-3.1, the op-version will be the same as the upstream
|
|
|
a3470f |
+ * GlusterFS op-versions. This is to allow proper access to upstream clients of
|
|
|
a3470f |
+ * version 3.7.x or greater, proper access to the RHGS volumes.
|
|
|
a3470f |
*/
|
|
|
a3470f |
#define GD_OP_VERSION_MIN 1 /* MIN is the fresh start op-version, mostly
|
|
|
a3470f |
should not change */
|
|
|
a3470f |
@@ -44,7 +49,13 @@
|
|
|
a3470f |
introduction of newer
|
|
|
a3470f |
versions */
|
|
|
a3470f |
|
|
|
a3470f |
-#define GD_OP_VERSION_3_6_0 30600 /* Op-Version for GlusterFS 3.6.0 */
|
|
|
a3470f |
+#define GD_OP_VERSION_RHS_3_0 30000 /* Op-Version of RHS 3.0 */
|
|
|
a3470f |
+
|
|
|
a3470f |
+#define GD_OP_VER_PERSISTENT_AFR_XATTRS GD_OP_VERSION_RHS_3_0
|
|
|
a3470f |
+
|
|
|
a3470f |
+#define GD_OP_VERSION_RHS_2_1_5 20105 /* RHS 2.1 update 5 */
|
|
|
a3470f |
+
|
|
|
a3470f |
+#define GD_OP_VERSION_RHS_3_0_4 30004 /* Op-Version of RHS 3.0.4 */
|
|
|
a3470f |
|
|
|
a3470f |
#define GD_OP_VERSION_3_7_0 30700 /* Op-version for GlusterFS 3.7.0 */
|
|
|
a3470f |
|
|
|
a3470f |
@@ -90,8 +101,6 @@
|
|
|
a3470f |
|
|
|
a3470f |
#define GD_OP_VERSION_3_12_2 31202 /* Op-version for GlusterFS 3.12.2 */
|
|
|
a3470f |
|
|
|
a3470f |
-#define GD_OP_VER_PERSISTENT_AFR_XATTRS GD_OP_VERSION_3_6_0
|
|
|
a3470f |
-
|
|
|
a3470f |
#include "xlator.h"
|
|
|
a3470f |
|
|
|
a3470f |
/* THIS */
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
|
|
|
a3470f |
index 6d17ff4..e88fa3f 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
|
|
|
a3470f |
@@ -1379,7 +1379,7 @@ glusterd_op_perform_add_bricks (glusterd_volinfo_t *volinfo, int32_t count,
|
|
|
a3470f |
/* A bricks mount dir is required only by snapshots which were
|
|
|
a3470f |
* introduced in gluster-3.6.0
|
|
|
a3470f |
*/
|
|
|
a3470f |
- if (conf->op_version >= GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version >= GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
brick_mount_dir = NULL;
|
|
|
a3470f |
|
|
|
a3470f |
snprintf (key, sizeof(key), "brick%d.mount_dir", i);
|
|
|
a3470f |
@@ -1926,7 +1926,7 @@ glusterd_op_stage_add_brick (dict_t *dict, char **op_errstr, dict_t *rsp_dict)
|
|
|
a3470f |
/* A bricks mount dir is required only by snapshots which were
|
|
|
a3470f |
* introduced in gluster-3.6.0
|
|
|
a3470f |
*/
|
|
|
a3470f |
- if (conf->op_version >= GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version >= GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = glusterd_get_brick_mount_dir
|
|
|
a3470f |
(brickinfo->path, brickinfo->hostname,
|
|
|
a3470f |
brickinfo->mount_dir);
|
|
|
a3470f |
@@ -2266,12 +2266,12 @@ glusterd_op_stage_remove_brick (dict_t *dict, char **op_errstr)
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
/* Check if the connected clients are all of version
|
|
|
a3470f |
- * glusterfs-3.6 and higher. This is needed to prevent some data
|
|
|
a3470f |
+ * RHS-2.1u5 and higher. This is needed to prevent some data
|
|
|
a3470f |
* loss issues that could occur when older clients are connected
|
|
|
a3470f |
* when rebalance is run.
|
|
|
a3470f |
*/
|
|
|
a3470f |
ret = glusterd_check_client_op_version_support
|
|
|
a3470f |
- (volname, GD_OP_VERSION_3_6_0, NULL);
|
|
|
a3470f |
+ (volname, GD_OP_VERSION_RHS_2_1_5, NULL);
|
|
|
a3470f |
if (ret) {
|
|
|
a3470f |
ret = gf_asprintf (op_errstr, "Volume %s has one or "
|
|
|
a3470f |
"more connected clients of a version"
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c
|
|
|
a3470f |
index 185186a..af9a796 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-handler.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-handler.c
|
|
|
a3470f |
@@ -754,7 +754,7 @@ glusterd_op_txn_begin (rpcsvc_request_t *req, glusterd_op_t op, void *ctx,
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
/* Based on the op_version, acquire a cluster or mgmt_v3 lock */
|
|
|
a3470f |
- if (priv->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (priv->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = glusterd_lock (MY_UUID);
|
|
|
a3470f |
if (ret) {
|
|
|
a3470f |
gf_msg (this->name, GF_LOG_ERROR, 0,
|
|
|
a3470f |
@@ -804,7 +804,7 @@ glusterd_op_txn_begin (rpcsvc_request_t *req, glusterd_op_t op, void *ctx,
|
|
|
a3470f |
local_locking_done:
|
|
|
a3470f |
/* If no volname is given as a part of the command, locks will
|
|
|
a3470f |
* not be held, hence sending stage event. */
|
|
|
a3470f |
- if (volname || (priv->op_version < GD_OP_VERSION_3_6_0))
|
|
|
a3470f |
+ if (volname || (priv->op_version < GD_OP_VERSION_RHS_3_0))
|
|
|
a3470f |
event_type = GD_OP_EVENT_START_LOCK;
|
|
|
a3470f |
else {
|
|
|
a3470f |
txn_op_info.state.state = GD_OP_STATE_LOCK_SENT;
|
|
|
a3470f |
@@ -836,7 +836,7 @@ out:
|
|
|
a3470f |
if (locked && ret) {
|
|
|
a3470f |
/* Based on the op-version, we release the
|
|
|
a3470f |
* cluster or mgmt_v3 lock */
|
|
|
a3470f |
- if (priv->op_version < GD_OP_VERSION_3_6_0)
|
|
|
a3470f |
+ if (priv->op_version < GD_OP_VERSION_RHS_3_0)
|
|
|
a3470f |
glusterd_unlock (MY_UUID);
|
|
|
a3470f |
else {
|
|
|
a3470f |
ret = glusterd_mgmt_v3_unlock (volname, MY_UUID,
|
|
|
a3470f |
@@ -4313,11 +4313,11 @@ __glusterd_handle_status_volume (rpcsvc_request_t *req)
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
if ((cmd & GF_CLI_STATUS_SNAPD) &&
|
|
|
a3470f |
- (conf->op_version < GD_OP_VERSION_3_6_0)) {
|
|
|
a3470f |
+ (conf->op_version < GD_OP_VERSION_RHS_3_0)) {
|
|
|
a3470f |
snprintf (err_str, sizeof (err_str), "The cluster is operating "
|
|
|
a3470f |
"at a lesser version than %d. Getting the status of "
|
|
|
a3470f |
"snapd is not allowed in this state",
|
|
|
a3470f |
- GD_OP_VERSION_3_6_0);
|
|
|
a3470f |
+ GD_OP_VERSION_RHS_3_0);
|
|
|
a3470f |
ret = -1;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -4337,7 +4337,7 @@ __glusterd_handle_status_volume (rpcsvc_request_t *req)
|
|
|
a3470f |
snprintf (err_str, sizeof (err_str), "The cluster is operating "
|
|
|
a3470f |
"at a lesser version than %d. Getting the status of "
|
|
|
a3470f |
"tierd is not allowed in this state",
|
|
|
a3470f |
- GD_OP_VERSION_3_6_0);
|
|
|
a3470f |
+ GD_OP_VERSION_RHS_3_0);
|
|
|
a3470f |
ret = -1;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -6287,7 +6287,7 @@ __glusterd_peer_rpc_notify (struct rpc_clnt *rpc, void *mydata,
|
|
|
a3470f |
glusterd_friend_sm_state_name_get (peerinfo->state.state));
|
|
|
a3470f |
|
|
|
a3470f |
if (peerinfo->connected) {
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
glusterd_get_lock_owner (&uuid);
|
|
|
a3470f |
if (!gf_uuid_is_null (uuid) &&
|
|
|
a3470f |
!gf_uuid_compare (peerinfo->uuid, uuid))
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
|
|
|
a3470f |
index 7bb3d53..6d5b8cf 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
|
|
|
a3470f |
@@ -191,7 +191,7 @@ glusterd_generate_txn_id (dict_t *dict, uuid_t **txn_id)
|
|
|
a3470f |
if (!*txn_id)
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
|
|
|
a3470f |
- if (priv->op_version < GD_OP_VERSION_3_6_0)
|
|
|
a3470f |
+ if (priv->op_version < GD_OP_VERSION_RHS_3_0)
|
|
|
a3470f |
gf_uuid_copy (**txn_id, priv->global_txn_id);
|
|
|
a3470f |
else
|
|
|
a3470f |
gf_uuid_generate (**txn_id);
|
|
|
a3470f |
@@ -1824,11 +1824,11 @@ glusterd_op_stage_status_volume (dict_t *dict, char **op_errstr)
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
if ((cmd & GF_CLI_STATUS_SNAPD) &&
|
|
|
a3470f |
- (priv->op_version < GD_OP_VERSION_3_6_0)) {
|
|
|
a3470f |
+ (priv->op_version < GD_OP_VERSION_RHS_3_0)) {
|
|
|
a3470f |
snprintf (msg, sizeof (msg), "The cluster is operating at "
|
|
|
a3470f |
"version less than %d. Getting the "
|
|
|
a3470f |
"status of snapd is not allowed in this state.",
|
|
|
a3470f |
- GD_OP_VERSION_3_6_0);
|
|
|
a3470f |
+ GD_OP_VERSION_RHS_3_0);
|
|
|
a3470f |
ret = -1;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -3872,7 +3872,7 @@ glusterd_op_ac_send_lock (glusterd_op_sm_event_t *event, void *ctx)
|
|
|
a3470f |
continue;
|
|
|
a3470f |
|
|
|
a3470f |
/* Based on the op_version, acquire a cluster or mgmt_v3 lock */
|
|
|
a3470f |
- if (priv->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (priv->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
proc = &peerinfo->mgmt->proctable
|
|
|
a3470f |
[GLUSTERD_MGMT_CLUSTER_LOCK];
|
|
|
a3470f |
if (proc->fn) {
|
|
|
a3470f |
@@ -3983,7 +3983,7 @@ glusterd_op_ac_send_unlock (glusterd_op_sm_event_t *event, void *ctx)
|
|
|
a3470f |
continue;
|
|
|
a3470f |
/* Based on the op_version,
|
|
|
a3470f |
* release the cluster or mgmt_v3 lock */
|
|
|
a3470f |
- if (priv->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (priv->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
proc = &peerinfo->mgmt->proctable
|
|
|
a3470f |
[GLUSTERD_MGMT_CLUSTER_UNLOCK];
|
|
|
a3470f |
if (proc->fn) {
|
|
|
a3470f |
@@ -5010,7 +5010,7 @@ glusterd_op_modify_op_ctx (glusterd_op_t op, void *ctx)
|
|
|
a3470f |
count = brick_index_max + other_count + 1;
|
|
|
a3470f |
|
|
|
a3470f |
/*
|
|
|
a3470f |
- * a glusterd lesser than version 3.7 will be sending the
|
|
|
a3470f |
+ * a glusterd lesser than version RHS-3.0.4 will be sending the
|
|
|
a3470f |
* rdma port in older key. Changing that value from here
|
|
|
a3470f |
* to support backward compatibility
|
|
|
a3470f |
*/
|
|
|
a3470f |
@@ -5029,7 +5029,7 @@ glusterd_op_modify_op_ctx (glusterd_op_t op, void *ctx)
|
|
|
a3470f |
}
|
|
|
a3470f |
}
|
|
|
a3470f |
glusterd_volinfo_find (volname, &volinfo);
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_7_0 &&
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0_4 &&
|
|
|
a3470f |
volinfo->transport_type == GF_TRANSPORT_RDMA) {
|
|
|
a3470f |
ret = glusterd_op_modify_port_key (op_ctx,
|
|
|
a3470f |
brick_index_max);
|
|
|
a3470f |
@@ -5670,7 +5670,7 @@ glusterd_op_txn_complete (uuid_t *txn_id)
|
|
|
a3470f |
glusterd_op_clear_errstr ();
|
|
|
a3470f |
|
|
|
a3470f |
/* Based on the op-version, we release the cluster or mgmt_v3 lock */
|
|
|
a3470f |
- if (priv->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (priv->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = glusterd_unlock (MY_UUID);
|
|
|
a3470f |
/* unlock cant/shouldnt fail here!! */
|
|
|
a3470f |
if (ret)
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-peer-utils.c b/xlators/mgmt/glusterd/src/glusterd-peer-utils.c
|
|
|
a3470f |
index 31f9e87..592aa16 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-peer-utils.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-peer-utils.c
|
|
|
a3470f |
@@ -554,7 +554,7 @@ out:
|
|
|
a3470f |
* @prefix. All the parameters are compulsory.
|
|
|
a3470f |
*
|
|
|
a3470f |
* The complete address list is added to the dict only if the cluster op-version
|
|
|
a3470f |
- * is >= GD_OP_VERSION_3_6_0
|
|
|
a3470f |
+ * is >= GD_OP_VERSION_3_7_0
|
|
|
a3470f |
*/
|
|
|
a3470f |
int
|
|
|
a3470f |
gd_add_friend_to_dict (glusterd_peerinfo_t *friend, dict_t *dict,
|
|
|
a3470f |
@@ -609,7 +609,7 @@ gd_add_friend_to_dict (glusterd_peerinfo_t *friend, dict_t *dict,
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_3_7_0) {
|
|
|
a3470f |
ret = 0;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -799,7 +799,7 @@ gd_update_peerinfo_from_dict (glusterd_peerinfo_t *peerinfo, dict_t *dict,
|
|
|
a3470f |
GF_FREE (peerinfo->hostname);
|
|
|
a3470f |
peerinfo->hostname = gf_strdup (hostname);
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_3_7_0) {
|
|
|
a3470f |
ret = 0;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -913,7 +913,7 @@ gd_add_peer_hostnames_to_dict (glusterd_peerinfo_t *peerinfo, dict_t *dict,
|
|
|
a3470f |
conf = this->private;
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (conf != NULL), out);
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_3_7_0) {
|
|
|
a3470f |
ret = 0;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c
|
|
|
a3470f |
index fcafb5b..76191c4 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c
|
|
|
a3470f |
@@ -678,13 +678,13 @@ glusterd_op_stage_rebalance (dict_t *dict, char **op_errstr)
|
|
|
a3470f |
case GF_DEFRAG_CMD_START:
|
|
|
a3470f |
case GF_DEFRAG_CMD_START_LAYOUT_FIX:
|
|
|
a3470f |
/* Check if the connected clients are all of version
|
|
|
a3470f |
- * glusterfs-3.6 and higher. This is needed to prevent some data
|
|
|
a3470f |
+ * RHS-2.1u5 and higher. This is needed to prevent some data
|
|
|
a3470f |
* loss issues that could occur when older clients are connected
|
|
|
a3470f |
* when rebalance is run. This check can be bypassed by using
|
|
|
a3470f |
* 'force'
|
|
|
a3470f |
*/
|
|
|
a3470f |
ret = glusterd_check_client_op_version_support
|
|
|
a3470f |
- (volname, GD_OP_VERSION_3_6_0, NULL);
|
|
|
a3470f |
+ (volname, GD_OP_VERSION_RHS_2_1_5, NULL);
|
|
|
a3470f |
if (ret) {
|
|
|
a3470f |
ret = gf_asprintf (op_errstr, "Volume %s has one or "
|
|
|
a3470f |
"more connected clients of a version"
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c
|
|
|
a3470f |
index 08a6df0..18fc741 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c
|
|
|
a3470f |
@@ -305,7 +305,7 @@ glusterd_op_stage_replace_brick (dict_t *dict, char **op_errstr,
|
|
|
a3470f |
if (ret)
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
|
|
|
a3470f |
- } else if (priv->op_version >= GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ } else if (priv->op_version >= GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
/* A bricks mount dir is required only by snapshots which were
|
|
|
a3470f |
* introduced in gluster-3.6.0
|
|
|
a3470f |
*/
|
|
|
a3470f |
@@ -389,7 +389,7 @@ glusterd_op_perform_replace_brick (glusterd_volinfo_t *volinfo,
|
|
|
a3470f |
/* A bricks mount dir is required only by snapshots which were
|
|
|
a3470f |
* introduced in gluster-3.6.0
|
|
|
a3470f |
*/
|
|
|
a3470f |
- if (conf->op_version >= GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version >= GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = dict_get_str (dict, "brick1.mount_dir", &brick_mount_dir);
|
|
|
a3470f |
if (ret) {
|
|
|
a3470f |
gf_msg (this->name, GF_LOG_ERROR, errno,
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
|
|
|
a3470f |
index ab52e8d..86e1256 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
|
|
|
a3470f |
@@ -302,11 +302,11 @@ __glusterd_probe_cbk (struct rpc_req *req, struct iovec *iov,
|
|
|
a3470f |
* we need to add the new hostname to the peer.
|
|
|
a3470f |
*
|
|
|
a3470f |
* This addition should only be done for cluster op-version >=
|
|
|
a3470f |
- * GD_OP_VERSION_3_6_0 as address lists are only supported from then on.
|
|
|
a3470f |
+ * GD_OP_VERSION_3_7_0 as address lists are only supported from then on.
|
|
|
a3470f |
* Also, this update should only be done when an explicit CLI probe
|
|
|
a3470f |
* command was used to begin the probe process.
|
|
|
a3470f |
*/
|
|
|
a3470f |
- if ((conf->op_version >= GD_OP_VERSION_3_6_0) &&
|
|
|
a3470f |
+ if ((conf->op_version >= GD_OP_VERSION_3_7_0) &&
|
|
|
a3470f |
(gf_uuid_compare (rsp.uuid, peerinfo->uuid) == 0)) {
|
|
|
a3470f |
ctx = ((call_frame_t *)myframe)->local;
|
|
|
a3470f |
/* Presence of ctx->req implies this probe was started by a cli
|
|
|
a3470f |
@@ -1591,7 +1591,7 @@ glusterd_rpc_friend_add (call_frame_t *frame, xlator_t *this,
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
- if (priv->op_version >= GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (priv->op_version >= GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = glusterd_add_missed_snaps_to_export_dict (peer_data);
|
|
|
a3470f |
if (ret) {
|
|
|
a3470f |
gf_msg (this->name, GF_LOG_ERROR, 0,
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-sm.c b/xlators/mgmt/glusterd/src/glusterd-sm.c
|
|
|
a3470f |
index f83e851..6c56837 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-sm.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-sm.c
|
|
|
a3470f |
@@ -942,7 +942,7 @@ glusterd_ac_handle_friend_add_req (glusterd_friend_sm_event_t *event, void *ctx)
|
|
|
a3470f |
/* Compare missed_snapshot list with the peer *
|
|
|
a3470f |
* if volume comparison is successful */
|
|
|
a3470f |
if ((op_ret == 0) &&
|
|
|
a3470f |
- (conf->op_version >= GD_OP_VERSION_3_6_0)) {
|
|
|
a3470f |
+ (conf->op_version >= GD_OP_VERSION_RHS_3_0)) {
|
|
|
a3470f |
ret = glusterd_import_friend_missed_snap_list (ev_ctx->vols);
|
|
|
a3470f |
if (ret) {
|
|
|
a3470f |
gf_msg (this->name, GF_LOG_ERROR, 0,
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c b/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c
|
|
|
a3470f |
index 9e2a75f..6fb49c3 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c
|
|
|
a3470f |
@@ -468,7 +468,7 @@ gd_add_brick_snap_details_to_dict (dict_t *dict, char *prefix,
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (prefix != NULL), out);
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (brickinfo != NULL), out);
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = 0;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -550,7 +550,7 @@ gd_add_vol_snap_details_to_dict (dict_t *dict, char *prefix,
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (volinfo != NULL), out);
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (prefix != NULL), out);
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = 0;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -878,7 +878,7 @@ gd_import_new_brick_snap_details (dict_t *dict, char *prefix,
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (prefix != NULL), out);
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (brickinfo != NULL), out);
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = 0;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -939,8 +939,8 @@ out:
|
|
|
a3470f |
* Imports the snapshot details of a volume if required and available
|
|
|
a3470f |
*
|
|
|
a3470f |
* Snapshot details will be imported only if cluster.op_version is greater than
|
|
|
a3470f |
- * or equal to GD_OP_VERSION_3_6_0, the op-version from which volume snapshot is
|
|
|
a3470f |
- * supported.
|
|
|
a3470f |
+ * or equal to GD_OP_VERSION_RHS_3_0, the op-version from which volume snapshot
|
|
|
a3470f |
+ * is supported.
|
|
|
a3470f |
*/
|
|
|
a3470f |
int
|
|
|
a3470f |
gd_import_volume_snap_details (dict_t *dict, glusterd_volinfo_t *volinfo,
|
|
|
a3470f |
@@ -962,7 +962,7 @@ gd_import_volume_snap_details (dict_t *dict, glusterd_volinfo_t *volinfo,
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (prefix != NULL), out);
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (volname != NULL), out);
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = 0;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot.c b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
|
|
|
a3470f |
index 31f4d95..6306d29 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-snapshot.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
|
|
|
a3470f |
@@ -9341,7 +9341,7 @@ glusterd_handle_snapshot_fn (rpcsvc_request_t *req)
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
snprintf (err_str, sizeof (err_str), "Cluster operating version"
|
|
|
a3470f |
" is lesser than the supported version "
|
|
|
a3470f |
"for a snapshot");
|
|
|
a3470f |
@@ -9349,7 +9349,7 @@ glusterd_handle_snapshot_fn (rpcsvc_request_t *req)
|
|
|
a3470f |
gf_msg (this->name, GF_LOG_ERROR, 0,
|
|
|
a3470f |
GD_MSG_UNSUPPORTED_VERSION,
|
|
|
a3470f |
"%s (%d < %d)", err_str,
|
|
|
a3470f |
- conf->op_version, GD_OP_VERSION_3_6_0);
|
|
|
a3470f |
+ conf->op_version, GD_OP_VERSION_RHS_3_0);
|
|
|
a3470f |
ret = -1;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c
|
|
|
a3470f |
index 4d22b63..229391a 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-store.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-store.c
|
|
|
a3470f |
@@ -302,7 +302,7 @@ gd_store_brick_snap_details_write (int fd, glusterd_brickinfo_t *brickinfo)
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (fd > 0), out);
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (brickinfo != NULL), out);
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = 0;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -799,7 +799,7 @@ glusterd_volume_write_snap_details (int fd, glusterd_volinfo_t *volinfo)
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (fd > 0), out);
|
|
|
a3470f |
GF_VALIDATE_OR_GOTO (this->name, (volinfo != NULL), out);
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = 0;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -968,7 +968,7 @@ glusterd_volume_exclude_options_write (int fd, glusterd_volinfo_t *volinfo)
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version >= GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version >= GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
snprintf (buf, sizeof (buf), "%d", volinfo->disperse_count);
|
|
|
a3470f |
ret = gf_store_save_value (fd,
|
|
|
a3470f |
GLUSTERD_STORE_KEY_VOL_DISPERSE_CNT,
|
|
|
a3470f |
@@ -2339,7 +2339,7 @@ glusterd_store_retrieve_snapd (glusterd_volinfo_t *volinfo)
|
|
|
a3470f |
conf = THIS->private;
|
|
|
a3470f |
GF_ASSERT (volinfo);
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = 0;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -2347,15 +2347,16 @@ glusterd_store_retrieve_snapd (glusterd_volinfo_t *volinfo)
|
|
|
a3470f |
/*
|
|
|
a3470f |
* This is needed for upgrade situations. Say a volume is created with
|
|
|
a3470f |
* older version of glusterfs and upgraded to a glusterfs version equal
|
|
|
a3470f |
- * to or greater than GD_OP_VERSION_3_6_0. The older glusterd would not
|
|
|
a3470f |
- * have created the snapd.info file related to snapshot daemon for user
|
|
|
a3470f |
- * serviceable snapshots. So as part of upgrade when the new glusterd
|
|
|
a3470f |
- * starts, as part of restore (restoring the volume to be precise), it
|
|
|
a3470f |
- * tries to snapd related info from snapd.info file. But since there was
|
|
|
a3470f |
- * no such file till now, the restore operation fails. Thus, to prevent
|
|
|
a3470f |
- * it from happening check whether user serviceable snapshots features
|
|
|
a3470f |
- * is enabled before restoring snapd. If its disbaled, then simply
|
|
|
a3470f |
- * exit by returning success (without even checking for the snapd.info).
|
|
|
a3470f |
+ * to or greater than GD_OP_VERSION_RHS_3_0. The older glusterd would
|
|
|
a3470f |
+ * not have created the snapd.info file related to snapshot daemon for
|
|
|
a3470f |
+ * user serviceable snapshots. So as part of upgrade when the new
|
|
|
a3470f |
+ * glusterd starts, as part of restore (restoring the volume to be
|
|
|
a3470f |
+ * precise), it tries to snapd related info from snapd.info file. But
|
|
|
a3470f |
+ * since there was no such file till now, the restore operation fails.
|
|
|
a3470f |
+ * Thus, to prevent it from happening check whether user serviceable
|
|
|
a3470f |
+ * snapshots features is enabled before restoring snapd. If its
|
|
|
a3470f |
+ * disbaled, then simply exit by returning success (without even
|
|
|
a3470f |
+ * checking for the snapd.info).
|
|
|
a3470f |
*/
|
|
|
a3470f |
|
|
|
a3470f |
if (!dict_get_str_boolean (volinfo->dict, "features.uss", _gf_false)) {
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-syncop.c b/xlators/mgmt/glusterd/src/glusterd-syncop.c
|
|
|
a3470f |
index 4be3d97..066c7f9 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-syncop.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-syncop.c
|
|
|
a3470f |
@@ -1863,7 +1863,7 @@ gd_sync_task_begin (dict_t *op_ctx, rpcsvc_request_t * req)
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
- if (conf->op_version < GD_OP_VERSION_3_6_0)
|
|
|
a3470f |
+ if (conf->op_version < GD_OP_VERSION_RHS_3_0)
|
|
|
a3470f |
cluster_lock = _gf_true;
|
|
|
a3470f |
|
|
|
a3470f |
/* Based on the op_version, acquire a cluster or mgmt_v3 lock */
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-tier.c b/xlators/mgmt/glusterd/src/glusterd-tier.c
|
|
|
a3470f |
index 45f6ac3..28f02e75 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-tier.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-tier.c
|
|
|
a3470f |
@@ -921,7 +921,7 @@ glusterd_op_stage_tier (dict_t *dict, char **op_errstr, dict_t *rsp_dict)
|
|
|
a3470f |
* 'force'
|
|
|
a3470f |
*/
|
|
|
a3470f |
ret = glusterd_check_client_op_version_support
|
|
|
a3470f |
- (volname, GD_OP_VERSION_3_6_0, NULL);
|
|
|
a3470f |
+ (volname, GD_OP_VERSION_RHS_3_0, NULL);
|
|
|
a3470f |
if (ret) {
|
|
|
a3470f |
ret = gf_asprintf (op_errstr, "Volume %s has one or "
|
|
|
a3470f |
"more connected clients of a version"
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
|
|
|
a3470f |
index e38f963..f34e218 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
|
|
|
a3470f |
@@ -11758,10 +11758,10 @@ gd_update_volume_op_versions (glusterd_volinfo_t *volinfo)
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
if (volinfo->type == GF_CLUSTER_TYPE_DISPERSE) {
|
|
|
a3470f |
- if (volinfo->op_version < GD_OP_VERSION_3_6_0)
|
|
|
a3470f |
- volinfo->op_version = GD_OP_VERSION_3_6_0;
|
|
|
a3470f |
- if (volinfo->client_op_version < GD_OP_VERSION_3_6_0)
|
|
|
a3470f |
- volinfo->client_op_version = GD_OP_VERSION_3_6_0;
|
|
|
a3470f |
+ if (volinfo->op_version < GD_OP_VERSION_3_7_0)
|
|
|
a3470f |
+ volinfo->op_version = GD_OP_VERSION_3_7_0;
|
|
|
a3470f |
+ if (volinfo->client_op_version < GD_OP_VERSION_3_7_0)
|
|
|
a3470f |
+ volinfo->client_op_version = GD_OP_VERSION_3_7_0;
|
|
|
a3470f |
}
|
|
|
a3470f |
|
|
|
a3470f |
return;
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
|
|
|
a3470f |
index 9d34073..834acab 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
|
|
|
a3470f |
@@ -1325,7 +1325,7 @@ glusterd_op_stage_create_volume (dict_t *dict, char **op_errstr,
|
|
|
a3470f |
/* A bricks mount dir is required only by snapshots which were
|
|
|
a3470f |
* introduced in gluster-3.6.0
|
|
|
a3470f |
*/
|
|
|
a3470f |
- if (priv->op_version >= GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (priv->op_version >= GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
ret = glusterd_get_brick_mount_dir
|
|
|
a3470f |
(brick_info->path, brick_info->hostname,
|
|
|
a3470f |
brick_info->mount_dir);
|
|
|
a3470f |
@@ -1611,7 +1611,7 @@ glusterd_op_stage_start_volume (dict_t *dict, char **op_errstr,
|
|
|
a3470f |
/* A bricks mount dir is required only by snapshots which were
|
|
|
a3470f |
* introduced in gluster-3.6.0
|
|
|
a3470f |
*/
|
|
|
a3470f |
- if (priv->op_version >= GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (priv->op_version >= GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
if (strlen(brickinfo->mount_dir) < 1) {
|
|
|
a3470f |
ret = glusterd_get_brick_mount_dir
|
|
|
a3470f |
(brickinfo->path, brickinfo->hostname,
|
|
|
a3470f |
@@ -2320,10 +2320,10 @@ glusterd_op_create_volume (dict_t *dict, char **op_errstr)
|
|
|
a3470f |
"redundancy count for volume %s", volname);
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
- if (priv->op_version < GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (priv->op_version < GD_OP_VERSION_3_7_0) {
|
|
|
a3470f |
gf_msg (this->name, GF_LOG_ERROR, 0,
|
|
|
a3470f |
GD_MSG_UNSUPPORTED_VERSION, "Disperse volume "
|
|
|
a3470f |
- "needs op-version 3.6.0 or higher");
|
|
|
a3470f |
+ "needs op-version 30700 or higher");
|
|
|
a3470f |
ret = -1;
|
|
|
a3470f |
goto out;
|
|
|
a3470f |
}
|
|
|
a3470f |
@@ -2428,7 +2428,7 @@ glusterd_op_create_volume (dict_t *dict, char **op_errstr)
|
|
|
a3470f |
/* A bricks mount dir is required only by snapshots which were
|
|
|
a3470f |
* introduced in gluster-3.6.0
|
|
|
a3470f |
*/
|
|
|
a3470f |
- if (priv->op_version >= GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (priv->op_version >= GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
brick_mount_dir = NULL;
|
|
|
a3470f |
snprintf (key, sizeof(key), "brick%d.mount_dir", i);
|
|
|
a3470f |
ret = dict_get_str (dict, key, &brick_mount_dir);
|
|
|
a3470f |
@@ -2623,7 +2623,7 @@ glusterd_op_start_volume (dict_t *dict, char **op_errstr)
|
|
|
a3470f |
/* A bricks mount dir is required only by snapshots which were
|
|
|
a3470f |
* introduced in gluster-3.6.0
|
|
|
a3470f |
*/
|
|
|
a3470f |
- if (conf->op_version >= GD_OP_VERSION_3_6_0) {
|
|
|
a3470f |
+ if (conf->op_version >= GD_OP_VERSION_RHS_3_0) {
|
|
|
a3470f |
cds_list_for_each_entry (brickinfo, &volinfo->bricks,
|
|
|
a3470f |
brick_list) {
|
|
|
a3470f |
brick_count++;
|
|
|
a3470f |
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
|
|
|
a3470f |
index 14b9e21..982275e 100644
|
|
|
a3470f |
--- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c
|
|
|
a3470f |
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
|
|
|
a3470f |
@@ -1263,7 +1263,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = "cluster.subvols-per-directory",
|
|
|
a3470f |
.voltype = "cluster/distribute",
|
|
|
a3470f |
.option = "directory-layout-spread",
|
|
|
a3470f |
- .op_version = 2,
|
|
|
a3470f |
+ .op_version = 1,
|
|
|
a3470f |
.validate_fn = validate_subvols_per_directory,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
@@ -1275,27 +1275,27 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = "cluster.rsync-hash-regex",
|
|
|
a3470f |
.voltype = "cluster/distribute",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = 2,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "cluster.extra-hash-regex",
|
|
|
a3470f |
.voltype = "cluster/distribute",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = 2,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "cluster.dht-xattr-name",
|
|
|
a3470f |
.voltype = "cluster/distribute",
|
|
|
a3470f |
.option = "xattr-name",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = 2,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "cluster.randomize-hash-range-by-gfid",
|
|
|
a3470f |
.voltype = "cluster/distribute",
|
|
|
a3470f |
.option = "randomize-hash-range-by-gfid",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_3_7_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "cluster.rebal-throttle",
|
|
|
a3470f |
@@ -1327,12 +1327,12 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "cluster/nufa",
|
|
|
a3470f |
.option = "local-volume-name",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "cluster.weighted-rebalance",
|
|
|
a3470f |
.voltype = "cluster/distribute",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_3_7_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
|
|
|
a3470f |
/* Switch xlator options (Distribute special case) */
|
|
|
a3470f |
@@ -1340,14 +1340,14 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "cluster/distribute",
|
|
|
a3470f |
.option = "!switch",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "cluster.switch-pattern",
|
|
|
a3470f |
.voltype = "cluster/switch",
|
|
|
a3470f |
.option = "pattern.switch.case",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
|
|
|
a3470f |
@@ -1475,18 +1475,18 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "cluster.readdir-failover",
|
|
|
a3470f |
.voltype = "cluster/replicate",
|
|
|
a3470f |
- .op_version = 2,
|
|
|
a3470f |
+ .op_version = 1,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "cluster.ensure-durability",
|
|
|
a3470f |
.voltype = "cluster/replicate",
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = 2,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "cluster.consistent-metadata",
|
|
|
a3470f |
.voltype = "cluster/replicate",
|
|
|
a3470f |
.type = DOC,
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_7_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0_4,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "cluster.heal-wait-queue-length",
|
|
|
a3470f |
@@ -1562,45 +1562,45 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = "diagnostics.brick-logger",
|
|
|
a3470f |
.voltype = "debug/io-stats",
|
|
|
a3470f |
.option = "!logger",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "diagnostics.client-logger",
|
|
|
a3470f |
.voltype = "debug/io-stats",
|
|
|
a3470f |
.option = "!logger",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "diagnostics.brick-log-format",
|
|
|
a3470f |
.voltype = "debug/io-stats",
|
|
|
a3470f |
.option = "!log-format",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "diagnostics.client-log-format",
|
|
|
a3470f |
.voltype = "debug/io-stats",
|
|
|
a3470f |
.option = "!log-format",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "diagnostics.brick-log-buf-size",
|
|
|
a3470f |
.voltype = "debug/io-stats",
|
|
|
a3470f |
.option = "!log-buf-size",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "diagnostics.client-log-buf-size",
|
|
|
a3470f |
.voltype = "debug/io-stats",
|
|
|
a3470f |
.option = "!log-buf-size",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "diagnostics.brick-log-flush-timeout",
|
|
|
a3470f |
.voltype = "debug/io-stats",
|
|
|
a3470f |
.option = "!log-flush-timeout",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "diagnostics.client-log-flush-timeout",
|
|
|
a3470f |
.voltype = "debug/io-stats",
|
|
|
a3470f |
.option = "!log-flush-timeout",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "diagnostics.stats-dump-interval",
|
|
|
a3470f |
@@ -1688,6 +1688,10 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "performance/io-threads",
|
|
|
a3470f |
.op_version = 1
|
|
|
a3470f |
},
|
|
|
a3470f |
+ { .key = "performance.least-rate-limit",
|
|
|
a3470f |
+ .voltype = "performance/io-threads",
|
|
|
a3470f |
+ .op_version = 1
|
|
|
a3470f |
+ },
|
|
|
a3470f |
|
|
|
a3470f |
/* Other perf xlators' options */
|
|
|
a3470f |
{ .key = "performance.cache-size",
|
|
|
a3470f |
@@ -1705,7 +1709,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = "performance.nfs.flush-behind",
|
|
|
a3470f |
.voltype = "performance/write-behind",
|
|
|
a3470f |
.option = "flush-behind",
|
|
|
a3470f |
- .op_version = 1,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "performance.write-behind-window-size",
|
|
|
a3470f |
@@ -1731,43 +1735,43 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = "performance.nfs.write-behind-window-size",
|
|
|
a3470f |
.voltype = "performance/write-behind",
|
|
|
a3470f |
.option = "cache-size",
|
|
|
a3470f |
- .op_version = 1,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "performance.strict-o-direct",
|
|
|
a3470f |
.voltype = "performance/write-behind",
|
|
|
a3470f |
.option = "strict-O_DIRECT",
|
|
|
a3470f |
- .op_version = 2,
|
|
|
a3470f |
+ .op_version = 1,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "performance.nfs.strict-o-direct",
|
|
|
a3470f |
.voltype = "performance/write-behind",
|
|
|
a3470f |
.option = "strict-O_DIRECT",
|
|
|
a3470f |
- .op_version = 2,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "performance.strict-write-ordering",
|
|
|
a3470f |
.voltype = "performance/write-behind",
|
|
|
a3470f |
.option = "strict-write-ordering",
|
|
|
a3470f |
- .op_version = 2,
|
|
|
a3470f |
+ .op_version = 1,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "performance.nfs.strict-write-ordering",
|
|
|
a3470f |
.voltype = "performance/write-behind",
|
|
|
a3470f |
.option = "strict-write-ordering",
|
|
|
a3470f |
- .op_version = 2,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "performance.lazy-open",
|
|
|
a3470f |
.voltype = "performance/open-behind",
|
|
|
a3470f |
.option = "lazy-open",
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = 2,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "performance.read-after-open",
|
|
|
a3470f |
.voltype = "performance/open-behind",
|
|
|
a3470f |
.option = "read-after-open",
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "performance.read-ahead-page-count",
|
|
|
a3470f |
@@ -1815,29 +1819,29 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
|
|
|
a3470f |
/* Crypt xlator options */
|
|
|
a3470f |
|
|
|
a3470f |
- { .key = "features.encryption",
|
|
|
a3470f |
- .voltype = "encryption/crypt",
|
|
|
a3470f |
- .option = "!feat",
|
|
|
a3470f |
- .value = "off",
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
- .description = "enable/disable client-side encryption for "
|
|
|
a3470f |
+ { .key = "features.encryption",
|
|
|
a3470f |
+ .voltype = "encryption/crypt",
|
|
|
a3470f |
+ .option = "!feat",
|
|
|
a3470f |
+ .value = "off",
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
+ .description = "enable/disable client-side encryption for "
|
|
|
a3470f |
"the volume.",
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT | OPT_FLAG_XLATOR_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
|
|
|
a3470f |
{ .key = "encryption.master-key",
|
|
|
a3470f |
.voltype = "encryption/crypt",
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "encryption.data-key-size",
|
|
|
a3470f |
.voltype = "encryption/crypt",
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "encryption.block-size",
|
|
|
a3470f |
.voltype = "encryption/crypt",
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
|
|
|
a3470f |
@@ -1881,7 +1885,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = "network.remote-dio",
|
|
|
a3470f |
.voltype = "protocol/client",
|
|
|
a3470f |
.option = "filter-O_DIRECT",
|
|
|
a3470f |
- .op_version = 2,
|
|
|
a3470f |
+ .op_version = 1,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "client.own-thread",
|
|
|
a3470f |
@@ -1892,7 +1896,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "client.event-threads",
|
|
|
a3470f |
.voltype = "protocol/client",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_7_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0_4,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "client.tcp-user-timeout",
|
|
|
a3470f |
.voltype = "protocol/client",
|
|
|
a3470f |
@@ -1960,17 +1964,17 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = "server.root-squash",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
.option = "root-squash",
|
|
|
a3470f |
- .op_version = 2
|
|
|
a3470f |
+ .op_version = 1
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "server.anonuid",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
.option = "anonuid",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "server.anongid",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
.option = "anongid",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "server.statedump-path",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
@@ -1981,7 +1985,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
.option = "rpc.outstanding-rpc-limit",
|
|
|
a3470f |
.type = GLOBAL_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "features.lock-heal",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
@@ -2007,11 +2011,11 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.option = "!ssl-allow",
|
|
|
a3470f |
.value = "*",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_3_7_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "server.manage-gids",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "server.dynamic-auth",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
@@ -2020,11 +2024,11 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = "client.send-gids",
|
|
|
a3470f |
.voltype = "protocol/client",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "server.gid-timeout",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "server.own-thread",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
@@ -2034,7 +2038,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "server.event-threads",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_7_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0_4,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "server.tcp-user-timeout",
|
|
|
a3470f |
.voltype = "protocol/server",
|
|
|
a3470f |
@@ -2095,12 +2099,12 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = SSL_CERT_DEPTH_OPT,
|
|
|
a3470f |
.voltype = "rpc-transport/socket",
|
|
|
a3470f |
.option = "!ssl-cert-depth",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_3_7_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = SSL_CIPHER_LIST_OPT,
|
|
|
a3470f |
.voltype = "rpc-transport/socket",
|
|
|
a3470f |
.option = "!ssl-cipher-list",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_3_7_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = SSL_DH_PARAM_OPT,
|
|
|
a3470f |
.voltype = "rpc-transport/socket",
|
|
|
a3470f |
@@ -2140,8 +2144,8 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = "performance.readdir-ahead",
|
|
|
a3470f |
.voltype = "performance/readdir-ahead",
|
|
|
a3470f |
.option = "!perf",
|
|
|
a3470f |
- .value = "on",
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .value = "off",
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.description = "enable/disable readdir-ahead translator in the volume.",
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT | OPT_FLAG_XLATOR_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
@@ -2263,7 +2267,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
/* Feature translators */
|
|
|
a3470f |
{ .key = "features.uss",
|
|
|
a3470f |
.voltype = "features/snapview-server",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.value = "off",
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT | OPT_FLAG_XLATOR_OPT,
|
|
|
a3470f |
.validate_fn = validate_uss,
|
|
|
a3470f |
@@ -2273,7 +2277,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
|
|
|
a3470f |
{ .key = "features.snapshot-directory",
|
|
|
a3470f |
.voltype = "features/snapview-client",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.value = ".snaps",
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT | OPT_FLAG_XLATOR_OPT,
|
|
|
a3470f |
.validate_fn = validate_uss_dir,
|
|
|
a3470f |
@@ -2284,7 +2288,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
|
|
|
a3470f |
{ .key = "features.show-snapshot-directory",
|
|
|
a3470f |
.voltype = "features/snapview-client",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.value = "off",
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT | OPT_FLAG_XLATOR_OPT,
|
|
|
a3470f |
.description = "show entry point in readdir output of "
|
|
|
a3470f |
@@ -2299,35 +2303,35 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "features/cdc",
|
|
|
a3470f |
.option = "!feat",
|
|
|
a3470f |
.value = "off",
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
.description = "enable/disable network compression translator",
|
|
|
a3470f |
.flags = OPT_FLAG_XLATOR_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "network.compression.window-size",
|
|
|
a3470f |
.voltype = "features/cdc",
|
|
|
a3470f |
.option = "window-size",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "network.compression.mem-level",
|
|
|
a3470f |
.voltype = "features/cdc",
|
|
|
a3470f |
.option = "mem-level",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "network.compression.min-size",
|
|
|
a3470f |
.voltype = "features/cdc",
|
|
|
a3470f |
.option = "min-size",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "network.compression.compression-level",
|
|
|
a3470f |
.voltype = "features/cdc",
|
|
|
a3470f |
.option = "compression-level",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "network.compression.debug",
|
|
|
a3470f |
.voltype = "features/cdc",
|
|
|
a3470f |
.option = "debug",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0
|
|
|
a3470f |
},
|
|
|
a3470f |
#endif
|
|
|
a3470f |
|
|
|
a3470f |
@@ -2342,25 +2346,25 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "features/quota",
|
|
|
a3470f |
.option = "default-soft-limit",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = 2,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "features.soft-timeout",
|
|
|
a3470f |
.voltype = "features/quota",
|
|
|
a3470f |
.option = "soft-timeout",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = 2,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "features.hard-timeout",
|
|
|
a3470f |
.voltype = "features/quota",
|
|
|
a3470f |
.option = "hard-timeout",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = 2,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "features.alert-time",
|
|
|
a3470f |
.voltype = "features/quota",
|
|
|
a3470f |
.option = "alert-time",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3,
|
|
|
a3470f |
+ .op_version = 2,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "features.quota-deem-statfs",
|
|
|
a3470f |
.voltype = "features/quota",
|
|
|
a3470f |
@@ -2474,25 +2478,25 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "debug/error-gen",
|
|
|
a3470f |
.option = "failure",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "debug.error-number",
|
|
|
a3470f |
.voltype = "debug/error-gen",
|
|
|
a3470f |
.option = "error-no",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "debug.random-failure",
|
|
|
a3470f |
.voltype = "debug/error-gen",
|
|
|
a3470f |
.option = "random-failure",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "debug.error-fops",
|
|
|
a3470f |
.voltype = "debug/error-gen",
|
|
|
a3470f |
.option = "enable",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
|
|
|
a3470f |
|
|
|
a3470f |
@@ -2543,7 +2547,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
.option = "rpc.outstanding-rpc-limit",
|
|
|
a3470f |
.type = GLOBAL_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "nfs.port",
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
@@ -2619,7 +2623,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
.option = "nfs.acl",
|
|
|
a3470f |
.type = GLOBAL_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "nfs.mount-udp",
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
@@ -2637,13 +2641,13 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
.option = "nfs.rpc-statd",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "nfs.log-level",
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
.option = "nfs.log-level",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "nfs.server-aux-gids",
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
@@ -2655,31 +2659,31 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
.option = "nfs.drc",
|
|
|
a3470f |
.type = GLOBAL_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 1
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "nfs.drc-size",
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
.option = "nfs.drc-size",
|
|
|
a3470f |
.type = GLOBAL_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 1
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "nfs.read-size",
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
.option = "nfs3.read-size",
|
|
|
a3470f |
.type = GLOBAL_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "nfs.write-size",
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
.option = "nfs3.write-size",
|
|
|
a3470f |
.type = GLOBAL_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "nfs.readdir-size",
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
.option = "nfs3.readdir-size",
|
|
|
a3470f |
.type = GLOBAL_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "nfs.rdirplus",
|
|
|
a3470f |
.voltype = "nfs/server",
|
|
|
a3470f |
@@ -2714,7 +2718,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = "features.read-only",
|
|
|
a3470f |
.voltype = "features/read-only",
|
|
|
a3470f |
.option = "read-only",
|
|
|
a3470f |
- .op_version = 1,
|
|
|
a3470f |
+ .op_version = 2,
|
|
|
a3470f |
.flags = OPT_FLAG_CLIENT_OPT | OPT_FLAG_XLATOR_OPT
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "features.worm",
|
|
|
a3470f |
@@ -2757,15 +2761,15 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "storage.batch-fsync-mode",
|
|
|
a3470f |
.voltype = "storage/posix",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "storage.batch-fsync-delay-usec",
|
|
|
a3470f |
.voltype = "storage/posix",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "storage.xattr-user-namespace-mode",
|
|
|
a3470f |
.voltype = "storage/posix",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "storage.owner-uid",
|
|
|
a3470f |
.voltype = "storage/posix",
|
|
|
a3470f |
@@ -2779,16 +2783,16 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "storage.node-uuid-pathinfo",
|
|
|
a3470f |
.voltype = "storage/posix",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "storage.health-check-interval",
|
|
|
a3470f |
.voltype = "storage/posix",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .option = "update-link-count-parent",
|
|
|
a3470f |
.key = "storage.build-pgfid",
|
|
|
a3470f |
.voltype = "storage/posix",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .option = "gfid2path",
|
|
|
a3470f |
.key = "storage.gfid2path",
|
|
|
a3470f |
@@ -2803,7 +2807,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "storage.bd-aio",
|
|
|
a3470f |
.voltype = "storage/bd",
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "config.memory-accounting",
|
|
|
a3470f |
.voltype = "mgmt/glusterd",
|
|
|
a3470f |
@@ -2819,43 +2823,43 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
{ .key = GLUSTERD_QUORUM_TYPE_KEY,
|
|
|
a3470f |
.voltype = "mgmt/glusterd",
|
|
|
a3470f |
.value = "off",
|
|
|
a3470f |
- .op_version = 2
|
|
|
a3470f |
+ .op_version = 1
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = GLUSTERD_QUORUM_RATIO_KEY,
|
|
|
a3470f |
.voltype = "mgmt/glusterd",
|
|
|
a3470f |
.value = "0",
|
|
|
a3470f |
- .op_version = 2
|
|
|
a3470f |
+ .op_version = 1
|
|
|
a3470f |
},
|
|
|
a3470f |
/* changelog translator - global tunables */
|
|
|
a3470f |
{ .key = "changelog.changelog",
|
|
|
a3470f |
.voltype = "features/changelog",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "changelog.changelog-dir",
|
|
|
a3470f |
.voltype = "features/changelog",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "changelog.encoding",
|
|
|
a3470f |
.voltype = "features/changelog",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "changelog.rollover-time",
|
|
|
a3470f |
.voltype = "features/changelog",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "changelog.fsync-interval",
|
|
|
a3470f |
.voltype = "features/changelog",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = 3
|
|
|
a3470f |
+ .op_version = 2
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "changelog.changelog-barrier-timeout",
|
|
|
a3470f |
.voltype = "features/changelog",
|
|
|
a3470f |
.value = BARRIER_TIMEOUT,
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "changelog.capture-del-path",
|
|
|
a3470f |
.voltype = "features/changelog",
|
|
|
a3470f |
@@ -2866,16 +2870,16 @@ struct volopt_map_entry glusterd_volopt_map[] = {
|
|
|
a3470f |
.voltype = "features/barrier",
|
|
|
a3470f |
.value = "disable",
|
|
|
a3470f |
.type = NO_DOC,
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_7_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = "features.barrier-timeout",
|
|
|
a3470f |
.voltype = "features/barrier",
|
|
|
a3470f |
.value = BARRIER_TIMEOUT,
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{ .key = GLUSTERD_GLOBAL_OP_VERSION_KEY,
|
|
|
a3470f |
.voltype = "mgmt/glusterd",
|
|
|
a3470f |
- .op_version = GD_OP_VERSION_3_6_0,
|
|
|
a3470f |
+ .op_version = GD_OP_VERSION_RHS_3_0,
|
|
|
a3470f |
},
|
|
|
a3470f |
{
|
|
|
a3470f |
.key = GLUSTERD_MAX_OP_VERSION_KEY,
|
|
|
a3470f |
--
|
|
|
a3470f |
1.8.3.1
|
|
|
a3470f |
|