diff options
| -rw-r--r-- | libglusterfs/src/options.h | 8 | ||||
| -rw-r--r-- | libglusterfs/src/xlator.h | 11 | 
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);  | 
