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 47e3d485058..0c5a18ec322 100644 --- a/include/linux/drbd.h +++ b/include/linux/drbd.h @@ -51,12 +51,11 @@  #endif -  extern const char *drbd_buildtag(void); -#define REL_VERSION "8.3.13" -#define API_VERSION 88 +#define REL_VERSION "8.4.2" +#define API_VERSION 1  #define PRO_VERSION_MIN 86 -#define PRO_VERSION_MAX 96 +#define PRO_VERSION_MAX 101  enum drbd_io_error_p { @@ -66,7 +65,8 @@ enum drbd_io_error_p {  };  enum drbd_fencing_p { -	FP_DONT_CARE, +	FP_NOT_AVAIL = -1, /* Not a policy */ +	FP_DONT_CARE = 0,  	FP_RESOURCE,  	FP_STONITH  }; @@ -102,6 +102,20 @@ enum drbd_on_congestion {  	OC_DISCONNECT,  }; +enum drbd_read_balancing { +	RB_PREFER_LOCAL, +	RB_PREFER_REMOTE, +	RB_ROUND_ROBIN, +	RB_LEAST_PENDING, +	RB_CONGESTED_REMOTE, +	RB_32K_STRIPING, +	RB_64K_STRIPING, +	RB_128K_STRIPING, +	RB_256K_STRIPING, +	RB_512K_STRIPING, +	RB_1M_STRIPING, +}; +  /* KEEP the order, do not delete or insert. Only append. */  enum drbd_ret_code {  	ERR_CODE_BASE		= 100, @@ -122,7 +136,7 @@ enum drbd_ret_code {  	ERR_AUTH_ALG		= 120,  	ERR_AUTH_ALG_ND		= 121,  	ERR_NOMEM		= 122, -	ERR_DISCARD		= 123, +	ERR_DISCARD_IMPOSSIBLE	= 123,  	ERR_DISK_CONFIGURED	= 124,  	ERR_NET_CONFIGURED	= 125,  	ERR_MANDATORY_TAG	= 126, @@ -130,8 +144,8 @@ enum drbd_ret_code {  	ERR_INTR		= 129, /* EINTR */  	ERR_RESIZE_RESYNC	= 130,  	ERR_NO_PRIMARY		= 131, -	ERR_SYNC_AFTER		= 132, -	ERR_SYNC_AFTER_CYCLE	= 133, +	ERR_RESYNC_AFTER	= 132, +	ERR_RESYNC_AFTER_CYCLE	= 133,  	ERR_PAUSE_IS_SET	= 134,  	ERR_PAUSE_IS_CLEAR	= 135,  	ERR_PACKET_NR		= 137, @@ -155,6 +169,14 @@ enum drbd_ret_code {  	ERR_CONG_NOT_PROTO_A	= 155,  	ERR_PIC_AFTER_DEP	= 156,  	ERR_PIC_PEER_DEP	= 157, +	ERR_RES_NOT_KNOWN	= 158, +	ERR_RES_IN_USE		= 159, +	ERR_MINOR_CONFIGURED    = 160, +	ERR_MINOR_EXISTS	= 161, +	ERR_INVALID_REQUEST	= 162, +	ERR_NEED_APV_100	= 163, +	ERR_NEED_ALLOW_TWO_PRI  = 164, +	ERR_MD_UNCLEAN          = 165,  	/* insert new ones above this line */  	AFTER_LAST_ERR_CODE @@ -296,7 +318,8 @@ enum drbd_state_rv {  	SS_NOT_SUPPORTED = -17,      /* drbd-8.2 only */  	SS_IN_TRANSIENT_STATE = -18,  /* Retry after the next state change */  	SS_CONCURRENT_ST_CHG = -19,   /* Concurrent cluster side state change! */ -	SS_AFTER_LAST_ERROR = -20,    /* Keep this at bottom */ +	SS_O_VOL_PEER_PRI = -20, +	SS_AFTER_LAST_ERROR = -21,    /* Keep this at bottom */  };  /* from drbd_strings.c */ @@ -313,7 +336,9 @@ extern const char *drbd_set_st_err_str(enum drbd_state_rv);  #define MDF_FULL_SYNC		(1 << 3)  #define MDF_WAS_UP_TO_DATE	(1 << 4)  #define MDF_PEER_OUT_DATED	(1 << 5) -#define MDF_CRASHED_PRIMARY     (1 << 6) +#define MDF_CRASHED_PRIMARY	(1 << 6) +#define MDF_AL_CLEAN		(1 << 7) +#define MDF_AL_DISABLED		(1 << 8)  enum drbd_uuid_index {  	UI_CURRENT, @@ -333,37 +358,23 @@ enum drbd_timeout_flag {  #define UUID_JUST_CREATED ((__u64)4) +/* magic numbers used in meta data and network packets */  #define DRBD_MAGIC 0x83740267 -#define BE_DRBD_MAGIC __constant_cpu_to_be32(DRBD_MAGIC)  #define DRBD_MAGIC_BIG 0x835a -#define BE_DRBD_MAGIC_BIG __constant_cpu_to_be16(DRBD_MAGIC_BIG) +#define DRBD_MAGIC_100 0x8620ec20 + +#define DRBD_MD_MAGIC_07   (DRBD_MAGIC+3) +#define DRBD_MD_MAGIC_08   (DRBD_MAGIC+4) +#define DRBD_MD_MAGIC_84_UNCLEAN	(DRBD_MAGIC+5) + + +/* how I came up with this magic? + * base64 decode "actlog==" ;) */ +#define DRBD_AL_MAGIC 0x69cb65a2  /* these are of type "int" */  #define DRBD_MD_INDEX_INTERNAL -1  #define DRBD_MD_INDEX_FLEX_EXT -2  #define DRBD_MD_INDEX_FLEX_INT -3 -/* Start of the new netlink/connector stuff */ - -#define DRBD_NL_CREATE_DEVICE 0x01 -#define DRBD_NL_SET_DEFAULTS  0x02 - - -/* For searching a vacant cn_idx value */ -#define CN_IDX_STEP			6977 - -struct drbd_nl_cfg_req { -	int packet_type; -	unsigned int drbd_minor; -	int flags; -	unsigned short tag_list[]; -}; - -struct drbd_nl_cfg_reply { -	int packet_type; -	unsigned int minor; -	int ret_code; /* enum ret_code or set_st_err_t */ -	unsigned short tag_list[]; /* only used with get_* calls */ -}; -  #endif  |