diff options
| -rw-r--r-- | libglusterfs/src/globals.h | 27 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handler.c | 8 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 8 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rpc-ops.c | 2 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-sm.c | 2 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-store.c | 4 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-syncop.c | 10 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 10 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volume-set.c | 40 | 
9 files changed, 60 insertions, 51 deletions
diff --git a/libglusterfs/src/globals.h b/libglusterfs/src/globals.h index 2e520c10e02..44568406abf 100644 --- a/libglusterfs/src/globals.h +++ b/libglusterfs/src/globals.h @@ -19,21 +19,30 @@  /* Gluster versions - OP-VERSION mapping   * - * 3.3.0                - 1 - * 3.4.0                - 2 + * 3.3.x                - 1 + * 3.4.x                - 2   * 3.5.0                - 3 - * 3.next (3.6?)        - 4 + * 3.5.1                - 30501 + * 3.6.0                - 30600   *   * TODO: Change above comment once gluster version is finalised - * TODO: Finalize the op-version ranges + * + * Starting with Gluster v3.6, the op-version will be multi-digit integer values + * based on the Glusterfs version, instead of a simply incrementing integer + * value. The op-version for a given X.Y.Z release will be an integer XYZ, with + * Y and Z 2 digit always 2 digits wide and padded with 0 when needed. This + * should allow for some gaps between two Y releases for backports of features + * in Z releases.   */  #define GD_OP_VERSION_MIN  1 /* MIN is the fresh start op-version, mostly                                  should not change */ -#define GD_OP_VERSION_MAX  4 /* MAX VERSION is the maximum count in VME table, -                                should keep changing with introduction of newer -                                versions */ -#define GD_OP_VERSION_4    4 /* Op-Version 4 */ -#define GD_OP_VER_PERSISTENT_AFR_XATTRS GD_OP_VERSION_4 +#define GD_OP_VERSION_MAX  30600 /* MAX VERSION is the maximum count in VME +                                    table, should keep changing with +                                    introduction of newer versions */ + +#define GD_OP_VERSION_3_6_0    30600 /* Op-Version for GlusterFS 3.6.0 */ + +#define GD_OP_VER_PERSISTENT_AFR_XATTRS GD_OP_VERSION_3_6_0  #include "xlator.h" diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index 0770f26a17c..33606461fe2 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -637,7 +637,7 @@ glusterd_op_txn_begin (rpcsvc_request_t *req, glusterd_op_t op, void *ctx,          }          /* Based on the op_version, acquire a cluster or mgmt_v3 lock */ -        if (priv->op_version < GD_OP_VERSION_4) { +        if (priv->op_version < GD_OP_VERSION_3_6_0) {                  ret = glusterd_lock (MY_UUID);                  if (ret) {                          gf_log (this->name, GF_LOG_ERROR, @@ -684,7 +684,7 @@ local_locking_done:          /* If no volname is given as a part of the command, locks will           * not be held, hence sending stage event. */ -        if (volname || (priv->op_version < GD_OP_VERSION_4)) +        if (volname || (priv->op_version < GD_OP_VERSION_3_6_0))                  event_type = GD_OP_EVENT_START_LOCK;          else {                  txn_op_info.state.state = GD_OP_STATE_LOCK_SENT; @@ -714,7 +714,7 @@ out:          if (locked && ret) {                  /* Based on the op-version, we release the                   * cluster or mgmt_v3 lock */ -                if (priv->op_version < GD_OP_VERSION_4) +                if (priv->op_version < GD_OP_VERSION_3_6_0)                          glusterd_unlock (MY_UUID);                  else {                          ret = glusterd_mgmt_v3_unlock (volname, MY_UUID, @@ -4339,7 +4339,7 @@ __glusterd_peer_rpc_notify (struct rpc_clnt *rpc, void *mydata,                          glusterd_friend_sm_state_name_get (peerinfo->state.state));                  if (peerinfo->connected) { -                        if (conf->op_version < GD_OP_VERSION_4) { +                        if (conf->op_version < GD_OP_VERSION_3_6_0) {                                  glusterd_get_lock_owner (&uuid);                                  if (!uuid_is_null (uuid) &&                                      !uuid_compare (peerinfo->uuid, uuid)) diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index 73f4c152460..c9776366715 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -153,7 +153,7 @@ glusterd_generate_txn_id (dict_t *dict, uuid_t **txn_id)          if (!*txn_id)                  goto out; -        if (priv->op_version < GD_OP_VERSION_4) +        if (priv->op_version < GD_OP_VERSION_3_6_0)                  uuid_copy (**txn_id, priv->global_txn_id);          else                  uuid_generate (**txn_id); @@ -2824,7 +2824,7 @@ glusterd_op_ac_send_lock (glusterd_op_sm_event_t *event, void *ctx)                          continue;                  /* Based on the op_version, acquire a cluster or mgmt_v3 lock */ -                if (priv->op_version < GD_OP_VERSION_4) { +                if (priv->op_version < GD_OP_VERSION_3_6_0) {                          proc = &peerinfo->mgmt->proctable                                            [GLUSTERD_MGMT_CLUSTER_LOCK];                          if (proc->fn) { @@ -2907,7 +2907,7 @@ glusterd_op_ac_send_unlock (glusterd_op_sm_event_t *event, void *ctx)                  /* Based on the op_version,                   * release the cluster or mgmt_v3 lock */ -                if (priv->op_version < GD_OP_VERSION_4) { +                if (priv->op_version < GD_OP_VERSION_3_6_0) {                          proc = &peerinfo->mgmt->proctable                                            [GLUSTERD_MGMT_CLUSTER_UNLOCK];                          if (proc->fn) { @@ -4403,7 +4403,7 @@ glusterd_op_txn_complete (uuid_t *txn_id)          glusterd_op_clear_errstr ();          /* Based on the op-version, we release the cluster or mgmt_v3 lock */ -        if (priv->op_version < GD_OP_VERSION_4) { +        if (priv->op_version < GD_OP_VERSION_3_6_0) {                  ret = glusterd_unlock (MY_UUID);                  /* unlock cant/shouldnt fail here!! */                  if (ret) diff --git a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c index 7025e9844db..7c7be9355b8 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c @@ -1274,7 +1274,7 @@ glusterd_rpc_friend_add (call_frame_t *frame, xlator_t *this,                  goto out;          } -        if (priv->op_version >= GD_OP_VERSION_4) { +        if (priv->op_version >= GD_OP_VERSION_3_6_0) {                  ret = glusterd_add_missed_snaps_to_export_dict (peer_data);                  if (ret) {                          gf_log (this->name, GF_LOG_ERROR, diff --git a/xlators/mgmt/glusterd/src/glusterd-sm.c b/xlators/mgmt/glusterd/src/glusterd-sm.c index b14b7d729d0..8807ef94a72 100644 --- a/xlators/mgmt/glusterd/src/glusterd-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-sm.c @@ -686,7 +686,7 @@ glusterd_ac_handle_friend_add_req (glusterd_friend_sm_event_t *event, void *ctx)          /* Compare missed_snapshot list with the peer *           * if volume comparison is successful */          if ((op_ret == 0) && -            (conf->op_version >= GD_OP_VERSION_4)) { +            (conf->op_version >= GD_OP_VERSION_3_6_0)) {                  ret = glusterd_import_friend_missed_snap_list (ev_ctx->vols);                  if (ret) {                          gf_log (this->name, GF_LOG_ERROR, diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c index d8887644afb..790bf9644f6 100644 --- a/xlators/mgmt/glusterd/src/glusterd-store.c +++ b/xlators/mgmt/glusterd/src/glusterd-store.c @@ -270,7 +270,7 @@ gd_store_brick_snap_details_write (int fd, glusterd_brickinfo_t *brickinfo)          GF_VALIDATE_OR_GOTO (this->name, (fd > 0), out);          GF_VALIDATE_OR_GOTO (this->name, (brickinfo != NULL), out); -        if (conf->op_version < GD_OP_VERSION_4) { +        if (conf->op_version < GD_OP_VERSION_3_6_0) {                  ret = 0;                  goto out;          } @@ -623,7 +623,7 @@ glusterd_volume_write_snap_details (int fd, glusterd_volinfo_t *volinfo)          GF_VALIDATE_OR_GOTO (this->name, (fd > 0), out);          GF_VALIDATE_OR_GOTO (this->name, (volinfo != NULL), out); -        if (conf->op_version < GD_OP_VERSION_4) { +        if (conf->op_version < GD_OP_VERSION_3_6_0) {                  ret = 0;                  goto out;          } diff --git a/xlators/mgmt/glusterd/src/glusterd-syncop.c b/xlators/mgmt/glusterd/src/glusterd-syncop.c index 30fbda47117..23824bd4ec3 100644 --- a/xlators/mgmt/glusterd/src/glusterd-syncop.c +++ b/xlators/mgmt/glusterd/src/glusterd-syncop.c @@ -1116,7 +1116,7 @@ gd_lock_op_phase (glusterd_conf_t  *conf, glusterd_op_t op, dict_t *op_ctx,          synctask_barrier_init((&args));          peer_cnt = 0;          list_for_each_entry (peerinfo, peers, op_peers_list) { -                if (conf->op_version < GD_OP_VERSION_4) { +                if (conf->op_version < GD_OP_VERSION_3_6_0) {                          /* Reset lock status */                          peerinfo->locked = _gf_false;                          gd_syncop_mgmt_lock (peerinfo, &args, @@ -1378,7 +1378,7 @@ gd_unlock_op_phase (glusterd_conf_t  *conf, glusterd_op_t op, int *op_ret,          this = THIS;          synctask_barrier_init((&args));          peer_cnt = 0; -        if (conf->op_version < GD_OP_VERSION_4) { +        if (conf->op_version < GD_OP_VERSION_3_6_0) {                  list_for_each_entry_safe (peerinfo, tmp, peers, op_peers_list) {                          /* Only unlock peers that were locked */                          if (peerinfo->locked) { @@ -1424,7 +1424,7 @@ out:                   * and clear the op */                  glusterd_op_clear_op (op); -                if (conf->op_version < GD_OP_VERSION_4) +                if (conf->op_version < GD_OP_VERSION_3_6_0)                          glusterd_unlock (MY_UUID);                  else {                          if (volname) { @@ -1595,7 +1595,7 @@ gd_sync_task_begin (dict_t *op_ctx, rpcsvc_request_t * req)          }          /* Based on the op_version, acquire a cluster or mgmt_v3 lock */ -        if (conf->op_version < GD_OP_VERSION_4) { +        if (conf->op_version < GD_OP_VERSION_3_6_0) {                  ret = glusterd_lock (MY_UUID);                  if (ret) {                          gf_log (this->name, GF_LOG_ERROR, @@ -1645,7 +1645,7 @@ local_locking_done:          /* If no volname is given as a part of the command, locks will           * not be held */ -        if (volname || (conf->op_version < GD_OP_VERSION_4)) { +        if (volname || (conf->op_version < GD_OP_VERSION_3_6_0)) {                  ret = gd_lock_op_phase (conf, op, op_ctx, &op_errstr,                                          npeers, *txn_id);                  if (ret) { diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index c8ea95c7719..ebea150604b 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -2339,7 +2339,7 @@ gd_add_brick_snap_details_to_dict (dict_t *dict, char *prefix,          GF_VALIDATE_OR_GOTO (this->name, (prefix != NULL), out);          GF_VALIDATE_OR_GOTO (this->name, (brickinfo != NULL), out); -        if (conf->op_version < GD_OP_VERSION_4) { +        if (conf->op_version < GD_OP_VERSION_3_6_0) {                  ret = 0;                  goto out;          } @@ -2398,7 +2398,7 @@ gd_add_vol_snap_details_to_dict (dict_t *dict, char *prefix,          GF_VALIDATE_OR_GOTO (this->name, (volinfo != NULL), out);          GF_VALIDATE_OR_GOTO (this->name, (prefix != NULL), out); -        if (conf->op_version < GD_OP_VERSION_4) { +        if (conf->op_version < GD_OP_VERSION_3_6_0) {                  ret =0;                  goto out;          } @@ -3701,7 +3701,7 @@ gd_import_new_brick_snap_details (dict_t *dict, char *prefix,          GF_VALIDATE_OR_GOTO (this->name, (prefix != NULL), out);          GF_VALIDATE_OR_GOTO (this->name, (brickinfo != NULL), out); -        if (conf->op_version < GD_OP_VERSION_4) { +        if (conf->op_version < GD_OP_VERSION_3_6_0) {                  ret = 0;                  goto out;          } @@ -4014,7 +4014,7 @@ out:   * Imports the snapshot details of a volume if required and available   *   * Snapshot details will be imported only if cluster.op_version is greater than - * or equal to GD_OP_VERSION_4, the op-version from which volume snapshot is + * or equal to GD_OP_VERSION_3_6_0, the op-version from which volume snapshot is   * supported.   */  int @@ -4037,7 +4037,7 @@ gd_import_volume_snap_details (dict_t *dict, glusterd_volinfo_t *volinfo,          GF_VALIDATE_OR_GOTO (this->name, (prefix != NULL), out);          GF_VALIDATE_OR_GOTO (this->name, (volname != NULL), out); -        if (conf->op_version < GD_OP_VERSION_4) { +        if (conf->op_version < GD_OP_VERSION_3_6_0) {                  ret = 0;                  goto out;          } diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index 26e86209007..75ec0026ff9 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -613,45 +613,45 @@ struct volopt_map_entry glusterd_volopt_map[] = {          { .key         = "diagnostics.brick-logger",            .voltype     = "debug/io-stats",            .option      = "!logger", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key        = "diagnostics.client-logger",            .voltype    = "debug/io-stats",            .option     = "!logger", -          .op_version = 4, +          .op_version = GD_OP_VERSION_3_6_0,            .flags      = OPT_FLAG_CLIENT_OPT          },          { .key         = "diagnostics.brick-log-format",            .voltype     = "debug/io-stats",            .option      = "!log-format", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key        = "diagnostics.client-log-format",            .voltype    = "debug/io-stats",            .option     = "!log-format", -          .op_version = 4, +          .op_version = GD_OP_VERSION_3_6_0,            .flags      = OPT_FLAG_CLIENT_OPT          },          { .key         = "diagnostics.brick-log-buf-size",            .voltype     = "debug/io-stats",            .option      = "!log-buf-size", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key        = "diagnostics.client-log-buf-size",            .voltype    = "debug/io-stats",            .option     = "!log-buf-size", -          .op_version = 4, +          .op_version = GD_OP_VERSION_3_6_0,            .flags      = OPT_FLAG_CLIENT_OPT          },          { .key         = "diagnostics.brick-log-flush-timeout",            .voltype     = "debug/io-stats",            .option      = "!log-flush-timeout", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key        = "diagnostics.client-log-flush-timeout",            .voltype    = "debug/io-stats",            .option     = "!log-flush-timeout", -          .op_version = 4, +          .op_version = GD_OP_VERSION_3_6_0,            .flags      = OPT_FLAG_CLIENT_OPT          }, @@ -946,16 +946,16 @@ struct volopt_map_entry glusterd_volopt_map[] = {          },          { .key         = "server.manage-gids",            .voltype     = "protocol/server", -          .op_version  = 4, +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = "client.send-gids",            .voltype     = "protocol/client",            .type        = NO_DOC, -          .op_version  = 4, +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = "server.gid-timeout",            .voltype     = "protocol/server", -          .op_version  = 4, +          .op_version  = GD_OP_VERSION_3_6_0,          },          /* Performance xlators enable/disbable options */ @@ -1417,12 +1417,12 @@ struct volopt_map_entry glusterd_volopt_map[] = {          { .key         = "nfs-ganesha.enable",            .voltype     = "nfs/server",            .option      = "!nfs-ganesha.enable", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = "nfs-ganesha.host",            .voltype     = "nfs/server",            .option      = "!nfs-ganesha.host", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = "nfs.nlm",            .voltype     = "nfs/server", @@ -1452,13 +1452,13 @@ struct volopt_map_entry glusterd_volopt_map[] = {            .voltype     = "nfs/server",            .option      = "nfs.rpc-statd",            .type        = NO_DOC, -          .op_version  = 4, +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = "nfs.log-level",            .voltype     = "nfs/server",            .option      = "nfs.log-level",            .type        = NO_DOC, -          .op_version  = 4, +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = "nfs.server-aux-gids",            .voltype     = "nfs/server", @@ -1526,7 +1526,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {          },          { .key         = "storage.xattr-user-namespace-mode",            .voltype     = "storage/posix", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = "storage.owner-uid",            .voltype     = "storage/posix", @@ -1549,7 +1549,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {          { .option      = "update-link-count-parent",            .key         = "storage.build-pgfid",            .voltype     = "storage/posix", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = "storage.bd-aio",            .voltype     = "storage/bd", @@ -1605,16 +1605,16 @@ struct volopt_map_entry glusterd_volopt_map[] = {          { .key         = "features.barrier",            .voltype     = "features/barrier",            .value       = "disable", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = "features.barrier-timeout",            .voltype     = "features/barrier",            .value       = "120", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = "cluster.op-version",            .voltype     = "mgmt/glusterd", -          .op_version  = 4 +          .op_version  = GD_OP_VERSION_3_6_0,          },          { .key         = NULL          }  | 
