Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[deliverable/linux.git] / include / linux / drbd.h
index 9cdb888607ae9148e67f9170584bed10600884a7..0c5a18ec322ce2b1ef963d8364d868adc3a82f98 100644 (file)
 #endif
 
 extern const char *drbd_buildtag(void);
-#define REL_VERSION "8.3.11"
-#define API_VERSION 88
+#define REL_VERSION "8.4.2"
+#define API_VERSION 1
 #define PRO_VERSION_MIN 86
-#define PRO_VERSION_MAX 100
+#define PRO_VERSION_MAX 101
 
 
 enum drbd_io_error_p {
@@ -65,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
 };
@@ -101,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,
@@ -111,8 +126,8 @@ enum drbd_ret_code {
        ERR_OPEN_MD_DISK        = 105,
        ERR_DISK_NOT_BDEV       = 107,
        ERR_MD_NOT_BDEV         = 108,
-       ERR_DISK_TO_SMALL       = 111,
-       ERR_MD_DISK_TO_SMALL    = 112,
+       ERR_DISK_TOO_SMALL      = 111,
+       ERR_MD_DISK_TOO_SMALL   = 112,
        ERR_BDCLAIM_DISK        = 114,
        ERR_BDCLAIM_MD_DISK     = 115,
        ERR_MD_IDX_INVALID      = 116,
@@ -121,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,
@@ -129,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,
@@ -154,11 +169,14 @@ enum drbd_ret_code {
        ERR_CONG_NOT_PROTO_A    = 155,
        ERR_PIC_AFTER_DEP       = 156,
        ERR_PIC_PEER_DEP        = 157,
-       ERR_CONN_NOT_KNOWN      = 158,
-       ERR_CONN_IN_USE         = 159,
+       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
@@ -318,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,
@@ -338,8 +358,15 @@ enum drbd_timeout_flag {
 
 #define UUID_JUST_CREATED ((__u64)4)
 
+/* magic numbers used in meta data and network packets */
 #define DRBD_MAGIC 0x83740267
 #define DRBD_MAGIC_BIG 0x835a
+#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==" ;) */
This page took 0.026517 seconds and 5 git commands to generate.