summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/options.h
diff options
context:
space:
mode:
authorKaushal M <kaushal@redhat.com>2018-03-01 17:34:05 +0530
committerKaushal M <kaushal@redhat.com>2018-03-02 09:00:14 +0000
commitfc35d400cba928de610b90adb5854dd1594fcd4a (patch)
treee0d2986a446ec4350e167cf3c26adb7707e41975 /libglusterfs/src/options.h
parent7e7fd3595e3ee7e260df4566edf5e1ac95fddd82 (diff)
libglusterfs: Fix volume_options_t struct
The volume_options_t struct was modified and a new member was introduced in the middle of the struct. This caused GD2 to crash when it tried to read the volume options. The new member has been moved to the end of the struct to correct this. And a note has been added to notify developers on how to modify this struct, and the xlator_api_t struct. Updates: gluster/glusterfs#302 Change-Id: I2e9899ec10516be29c7e9d574da53be8ec17a99e Signed-off-by: Kaushal M <kaushal@redhat.com>
Diffstat (limited to 'libglusterfs/src/options.h')
-rw-r--r--libglusterfs/src/options.h8
1 files changed, 7 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;