Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[deliverable/linux.git] / include / linux / drbd.h
index 47e3d48505843064b02fe9e7e167a1a591f5b83f..0c5a18ec322ce2b1ef963d8364d868adc3a82f98 100644 (file)
 
 #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
This page took 0.030347 seconds and 5 git commands to generate.