diff options
Diffstat (limited to 'include/linux/drbd.h')
| -rw-r--r-- | include/linux/drbd.h | 81 |
1 files changed, 46 insertions, 35 deletions
diff --git a/include/linux/drbd.h b/include/linux/drbd.h index 47e3d4850584..0c5a18ec322c 100644 --- a/include/linux/drbd.h +++ b/include/linux/drbd.h | |||
| @@ -51,12 +51,11 @@ | |||
| 51 | 51 | ||
| 52 | #endif | 52 | #endif |
| 53 | 53 | ||
| 54 | |||
| 55 | extern const char *drbd_buildtag(void); | 54 | extern const char *drbd_buildtag(void); |
| 56 | #define REL_VERSION "8.3.13" | 55 | #define REL_VERSION "8.4.2" |
| 57 | #define API_VERSION 88 | 56 | #define API_VERSION 1 |
| 58 | #define PRO_VERSION_MIN 86 | 57 | #define PRO_VERSION_MIN 86 |
| 59 | #define PRO_VERSION_MAX 96 | 58 | #define PRO_VERSION_MAX 101 |
| 60 | 59 | ||
| 61 | 60 | ||
| 62 | enum drbd_io_error_p { | 61 | enum drbd_io_error_p { |
| @@ -66,7 +65,8 @@ enum drbd_io_error_p { | |||
| 66 | }; | 65 | }; |
| 67 | 66 | ||
| 68 | enum drbd_fencing_p { | 67 | enum drbd_fencing_p { |
| 69 | FP_DONT_CARE, | 68 | FP_NOT_AVAIL = -1, /* Not a policy */ |
| 69 | FP_DONT_CARE = 0, | ||
| 70 | FP_RESOURCE, | 70 | FP_RESOURCE, |
| 71 | FP_STONITH | 71 | FP_STONITH |
| 72 | }; | 72 | }; |
| @@ -102,6 +102,20 @@ enum drbd_on_congestion { | |||
| 102 | OC_DISCONNECT, | 102 | OC_DISCONNECT, |
| 103 | }; | 103 | }; |
| 104 | 104 | ||
| 105 | enum drbd_read_balancing { | ||
| 106 | RB_PREFER_LOCAL, | ||
| 107 | RB_PREFER_REMOTE, | ||
| 108 | RB_ROUND_ROBIN, | ||
| 109 | RB_LEAST_PENDING, | ||
| 110 | RB_CONGESTED_REMOTE, | ||
| 111 | RB_32K_STRIPING, | ||
| 112 | RB_64K_STRIPING, | ||
| 113 | RB_128K_STRIPING, | ||
| 114 | RB_256K_STRIPING, | ||
| 115 | RB_512K_STRIPING, | ||
| 116 | RB_1M_STRIPING, | ||
| 117 | }; | ||
| 118 | |||
| 105 | /* KEEP the order, do not delete or insert. Only append. */ | 119 | /* KEEP the order, do not delete or insert. Only append. */ |
| 106 | enum drbd_ret_code { | 120 | enum drbd_ret_code { |
| 107 | ERR_CODE_BASE = 100, | 121 | ERR_CODE_BASE = 100, |
| @@ -122,7 +136,7 @@ enum drbd_ret_code { | |||
| 122 | ERR_AUTH_ALG = 120, | 136 | ERR_AUTH_ALG = 120, |
| 123 | ERR_AUTH_ALG_ND = 121, | 137 | ERR_AUTH_ALG_ND = 121, |
| 124 | ERR_NOMEM = 122, | 138 | ERR_NOMEM = 122, |
| 125 | ERR_DISCARD = 123, | 139 | ERR_DISCARD_IMPOSSIBLE = 123, |
| 126 | ERR_DISK_CONFIGURED = 124, | 140 | ERR_DISK_CONFIGURED = 124, |
| 127 | ERR_NET_CONFIGURED = 125, | 141 | ERR_NET_CONFIGURED = 125, |
| 128 | ERR_MANDATORY_TAG = 126, | 142 | ERR_MANDATORY_TAG = 126, |
| @@ -130,8 +144,8 @@ enum drbd_ret_code { | |||
| 130 | ERR_INTR = 129, /* EINTR */ | 144 | ERR_INTR = 129, /* EINTR */ |
| 131 | ERR_RESIZE_RESYNC = 130, | 145 | ERR_RESIZE_RESYNC = 130, |
| 132 | ERR_NO_PRIMARY = 131, | 146 | ERR_NO_PRIMARY = 131, |
| 133 | ERR_SYNC_AFTER = 132, | 147 | ERR_RESYNC_AFTER = 132, |
| 134 | ERR_SYNC_AFTER_CYCLE = 133, | 148 | ERR_RESYNC_AFTER_CYCLE = 133, |
| 135 | ERR_PAUSE_IS_SET = 134, | 149 | ERR_PAUSE_IS_SET = 134, |
| 136 | ERR_PAUSE_IS_CLEAR = 135, | 150 | ERR_PAUSE_IS_CLEAR = 135, |
| 137 | ERR_PACKET_NR = 137, | 151 | ERR_PACKET_NR = 137, |
| @@ -155,6 +169,14 @@ enum drbd_ret_code { | |||
| 155 | ERR_CONG_NOT_PROTO_A = 155, | 169 | ERR_CONG_NOT_PROTO_A = 155, |
| 156 | ERR_PIC_AFTER_DEP = 156, | 170 | ERR_PIC_AFTER_DEP = 156, |
| 157 | ERR_PIC_PEER_DEP = 157, | 171 | ERR_PIC_PEER_DEP = 157, |
| 172 | ERR_RES_NOT_KNOWN = 158, | ||
| 173 | ERR_RES_IN_USE = 159, | ||
| 174 | ERR_MINOR_CONFIGURED = 160, | ||
| 175 | ERR_MINOR_EXISTS = 161, | ||
| 176 | ERR_INVALID_REQUEST = 162, | ||
| 177 | ERR_NEED_APV_100 = 163, | ||
| 178 | ERR_NEED_ALLOW_TWO_PRI = 164, | ||
| 179 | ERR_MD_UNCLEAN = 165, | ||
| 158 | 180 | ||
| 159 | /* insert new ones above this line */ | 181 | /* insert new ones above this line */ |
| 160 | AFTER_LAST_ERR_CODE | 182 | AFTER_LAST_ERR_CODE |
| @@ -296,7 +318,8 @@ enum drbd_state_rv { | |||
| 296 | SS_NOT_SUPPORTED = -17, /* drbd-8.2 only */ | 318 | SS_NOT_SUPPORTED = -17, /* drbd-8.2 only */ |
| 297 | SS_IN_TRANSIENT_STATE = -18, /* Retry after the next state change */ | 319 | SS_IN_TRANSIENT_STATE = -18, /* Retry after the next state change */ |
| 298 | SS_CONCURRENT_ST_CHG = -19, /* Concurrent cluster side state change! */ | 320 | SS_CONCURRENT_ST_CHG = -19, /* Concurrent cluster side state change! */ |
| 299 | SS_AFTER_LAST_ERROR = -20, /* Keep this at bottom */ | 321 | SS_O_VOL_PEER_PRI = -20, |
| 322 | SS_AFTER_LAST_ERROR = -21, /* Keep this at bottom */ | ||
| 300 | }; | 323 | }; |
| 301 | 324 | ||
| 302 | /* from drbd_strings.c */ | 325 | /* from drbd_strings.c */ |
| @@ -313,7 +336,9 @@ extern const char *drbd_set_st_err_str(enum drbd_state_rv); | |||
| 313 | #define MDF_FULL_SYNC (1 << 3) | 336 | #define MDF_FULL_SYNC (1 << 3) |
| 314 | #define MDF_WAS_UP_TO_DATE (1 << 4) | 337 | #define MDF_WAS_UP_TO_DATE (1 << 4) |
| 315 | #define MDF_PEER_OUT_DATED (1 << 5) | 338 | #define MDF_PEER_OUT_DATED (1 << 5) |
| 316 | #define MDF_CRASHED_PRIMARY (1 << 6) | 339 | #define MDF_CRASHED_PRIMARY (1 << 6) |
| 340 | #define MDF_AL_CLEAN (1 << 7) | ||
| 341 | #define MDF_AL_DISABLED (1 << 8) | ||
| 317 | 342 | ||
| 318 | enum drbd_uuid_index { | 343 | enum drbd_uuid_index { |
| 319 | UI_CURRENT, | 344 | UI_CURRENT, |
| @@ -333,37 +358,23 @@ enum drbd_timeout_flag { | |||
| 333 | 358 | ||
| 334 | #define UUID_JUST_CREATED ((__u64)4) | 359 | #define UUID_JUST_CREATED ((__u64)4) |
| 335 | 360 | ||
| 361 | /* magic numbers used in meta data and network packets */ | ||
| 336 | #define DRBD_MAGIC 0x83740267 | 362 | #define DRBD_MAGIC 0x83740267 |
| 337 | #define BE_DRBD_MAGIC __constant_cpu_to_be32(DRBD_MAGIC) | ||
| 338 | #define DRBD_MAGIC_BIG 0x835a | 363 | #define DRBD_MAGIC_BIG 0x835a |
| 339 | #define BE_DRBD_MAGIC_BIG __constant_cpu_to_be16(DRBD_MAGIC_BIG) | 364 | #define DRBD_MAGIC_100 0x8620ec20 |
| 365 | |||
| 366 | #define DRBD_MD_MAGIC_07 (DRBD_MAGIC+3) | ||
| 367 | #define DRBD_MD_MAGIC_08 (DRBD_MAGIC+4) | ||
| 368 | #define DRBD_MD_MAGIC_84_UNCLEAN (DRBD_MAGIC+5) | ||
| 369 | |||
| 370 | |||
| 371 | /* how I came up with this magic? | ||
| 372 | * base64 decode "actlog==" ;) */ | ||
| 373 | #define DRBD_AL_MAGIC 0x69cb65a2 | ||
| 340 | 374 | ||
| 341 | /* these are of type "int" */ | 375 | /* these are of type "int" */ |
| 342 | #define DRBD_MD_INDEX_INTERNAL -1 | 376 | #define DRBD_MD_INDEX_INTERNAL -1 |
| 343 | #define DRBD_MD_INDEX_FLEX_EXT -2 | 377 | #define DRBD_MD_INDEX_FLEX_EXT -2 |
| 344 | #define DRBD_MD_INDEX_FLEX_INT -3 | 378 | #define DRBD_MD_INDEX_FLEX_INT -3 |
| 345 | 379 | ||
| 346 | /* Start of the new netlink/connector stuff */ | ||
| 347 | |||
| 348 | #define DRBD_NL_CREATE_DEVICE 0x01 | ||
| 349 | #define DRBD_NL_SET_DEFAULTS 0x02 | ||
| 350 | |||
| 351 | |||
| 352 | /* For searching a vacant cn_idx value */ | ||
| 353 | #define CN_IDX_STEP 6977 | ||
| 354 | |||
| 355 | struct drbd_nl_cfg_req { | ||
| 356 | int packet_type; | ||
| 357 | unsigned int drbd_minor; | ||
| 358 | int flags; | ||
| 359 | unsigned short tag_list[]; | ||
| 360 | }; | ||
| 361 | |||
| 362 | struct drbd_nl_cfg_reply { | ||
| 363 | int packet_type; | ||
| 364 | unsigned int minor; | ||
| 365 | int ret_code; /* enum ret_code or set_st_err_t */ | ||
| 366 | unsigned short tag_list[]; /* only used with get_* calls */ | ||
| 367 | }; | ||
| 368 | |||
| 369 | #endif | 380 | #endif |
