]> Pileus Git - ~andy/linux/blobdiff - fs/ocfs2/cluster/tcp_internal.h
byteorder: move le32_add_cpu & friends from OCFS2 to core
[~andy/linux] / fs / ocfs2 / cluster / tcp_internal.h
index 177927a8f007739aae66f0833806670acf587334..d25b9af28500d99963623a873e8db3e1298b4683 100644 (file)
  * locking semantics of the file system using the protocol.  It should 
  * be somewhere else, I'm sure, but right now it isn't.
  *
+ * With version 11, we separate out the filesystem locking portion.  The
+ * filesystem now has a major.minor version it negotiates.  Version 11
+ * introduces this negotiation to the o2dlm protocol, and as such the
+ * version here in tcp_internal.h should not need to be bumped for
+ * filesystem locking changes.
+ *
+ * New in version 11
+ *     - Negotiation of filesystem locking in the dlm join.
+ *
+ * New in version 10:
+ *     - Meta/data locks combined
+ *
+ * New in version 9:
+ *     - All votes removed
+ *
+ * New in version 8:
+ *     - Replace delete inode votes with a cluster lock
+ *
  * New in version 7:
  *     - DLM join domain includes the live nodemap
  *
@@ -57,7 +75,7 @@
  *     - full 64 bit i_size in the metadata lock lvbs
  *     - introduction of "rw" lock and pushing meta/data locking down
  */
-#define O2NET_PROTOCOL_VERSION 7ULL
+#define O2NET_PROTOCOL_VERSION 11ULL
 struct o2net_handshake {
        __be64  protocol_version;
        __be64  connector_id;
@@ -155,6 +173,8 @@ struct o2net_sock_container {
        struct timeval          sc_tv_func_stop;
        u32                     sc_msg_key;
        u16                     sc_msg_type;
+
+       struct mutex            sc_send_lock;
 };
 
 struct o2net_msg_handler {