aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruen@linbit.com>2011-03-30 16:00:17 +0200
committerPhilipp Reisner <philipp.reisner@linbit.com>2012-11-08 16:45:10 +0100
commit0c8e36d9b843be56e4e43d4ef3c3eb6a97205599 (patch)
tree5f593c0b3c4a4052382fa2d23dff87281786e2ad /include
parentdrbd: Remove headers from on-the-wire data structures (struct p_*) (diff)
downloadlinux-dev-0c8e36d9b843be56e4e43d4ef3c3eb6a97205599.tar.xz
linux-dev-0c8e36d9b843be56e4e43d4ef3c3eb6a97205599.zip
drbd: Introduce protocol version 100 headers
The 8 byte header finally becomes too small. With the protocol 100 header we have 16 bit for the volume number, proper 32 bit for the data length, and 32 bit for further extensions in the future. Previous versions of drbd are using version 80 headers for all packets short enough for protocol 80. They support both header versions in worker context, but only version 80 headers in asynchronous context. For backwards compatibility, continue to use version 80 headers for short packets before protocol version 100. From protocol version 100 on, use the same header version for all packets. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/drbd.h1
-rw-r--r--include/linux/drbd_genl.h2
-rw-r--r--include/linux/drbd_limits.h2
3 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/drbd.h b/include/linux/drbd.h
index 60d308819096..fe8d6ba31bcb 100644
--- a/include/linux/drbd.h
+++ b/include/linux/drbd.h
@@ -341,6 +341,7 @@ enum drbd_timeout_flag {
#define DRBD_MAGIC 0x83740267
#define DRBD_MAGIC_BIG 0x835a
+#define DRBD_MAGIC_100 0x8620ec20
/* how I came up with this magic?
* base64 decode "actlog==" ;) */
diff --git a/include/linux/drbd_genl.h b/include/linux/drbd_genl.h
index 938e8560a833..10144d546a66 100644
--- a/include/linux/drbd_genl.h
+++ b/include/linux/drbd_genl.h
@@ -95,8 +95,6 @@ GENL_struct(DRBD_NLA_CFG_REPLY, 1, drbd_cfg_reply,
* and/or the replication group (aka resource) name,
* and the volume id within the resource. */
GENL_struct(DRBD_NLA_CFG_CONTEXT, 2, drbd_cfg_context,
- /* currently only 256 volumes per group,
- * but maybe we still change that */
__u32_field(1, GENLA_F_MANDATORY, ctx_volume)
__str_field(2, GENLA_F_MANDATORY, ctx_conn_name, 128)
)
diff --git a/include/linux/drbd_limits.h b/include/linux/drbd_limits.h
index 659a8eb38830..7f5149bef70e 100644
--- a/include/linux/drbd_limits.h
+++ b/include/linux/drbd_limits.h
@@ -19,6 +19,8 @@
#define DRBD_MINOR_COUNT_MAX 256
#define DRBD_MINOR_COUNT_DEF 32
+#define DRBD_VOLUME_MAX 65535
+
#define DRBD_DIALOG_REFRESH_MIN 0
#define DRBD_DIALOG_REFRESH_MAX 600