summaryrefslogtreecommitdiffstats
path: root/libglusterfs
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs')
-rw-r--r--libglusterfs/src/options.h8
-rw-r--r--libglusterfs/src/xlator.h11
2 files changed, 18 insertions, 1 deletions
diff --git a/libglusterfs/src/options.h b/libglusterfs/src/options.h
index f741df25a37..1aa27341624 100644
--- a/libglusterfs/src/options.h
+++ b/libglusterfs/src/options.h
@@ -82,6 +82,10 @@ typedef enum {
/* Each translator should define this structure */
+/* XXX: This structure is in use by GD2, and SHOULD NOT be modified.
+ * If there is a need to add new members, add them to the end of the structure.
+ * If the struct must be modified, GD2 MUST be updated as well
+ */
typedef struct volume_options {
char *key[ZR_VOLUME_MAX_NUM_KEY];
/* different key, same meaning */
@@ -98,7 +102,6 @@ typedef struct volume_options {
* happen
*/
opt_validate_type_t validate;
- opt_level_t level;
/* The op-version at which this option was introduced.
* This is an array to support options that get backported to supported
@@ -131,6 +134,9 @@ typedef struct volume_options {
*/
char *setkey;
+ /* The level at which the option is classified
+ */
+ opt_level_t level;
} volume_option_t;
diff --git a/libglusterfs/src/xlator.h b/libglusterfs/src/xlator.h
index 0e50bef1cb6..bfab57a0133 100644
--- a/libglusterfs/src/xlator.h
+++ b/libglusterfs/src/xlator.h
@@ -1052,6 +1052,10 @@ typedef struct {
/* This would be the only structure which needs to be exported by
the translators. For the backward compatibility, in 4.x series
even the old exported fields will be supported */
+/* XXX: This struct is in use by GD2, and hence SHOULD NOT be modified.
+ * If the struct must be modified, see instructions at the comment with
+ * GD2MARKER below.
+ */
typedef struct {
/* op_version: will be used by volume generation logic to figure
out whether to insert it in graph or no, based on cluster's
@@ -1075,6 +1079,13 @@ typedef struct {
volume file, then that should be defined here. optional. */
volume_option_t *options;
+ /* XXX: GD2MARKER
+ * If a new member that needs to be visible to GD2 is introduced,
+ * add it above this comment.
+ * Any other new members need to be added below this comment, or at the
+ * end of the struct
+ */
+
/* init(): mandatory method, will be called during the
graph initialization */
int32_t (*init) (xlator_t *this);