aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/cluster/tcp_internal.h
diff options
context:
space:
mode:
authorAndrew Beekhof <abeekhof@suse.de>2006-12-04 08:04:55 -0500
committerMark Fasheh <mark.fasheh@oracle.com>2006-12-11 17:26:44 -0500
commit828ae6afbef03bfe107a4a8cc38798419d6a2765 (patch)
treeaa9cd680db9af2070f124cfd66aad88da279a5b9 /fs/ocfs2/cluster/tcp_internal.h
parentb5dd80304da482d77b2320e1a01a189e656b9770 (diff)
[patch 3/3] OCFS2 Configurable timeouts - Protocol changes
Modify the OCFS2 handshake to ensure essential timeouts are configured identically on all nodes. Only allow changes when there are no connected peers Improves the logic in o2net_advance_rx() which broke now that sizeof(struct o2net_handshake) is greater than sizeof(struct o2net_msg) Included is the field for userspace-heartbeat timeout to avoid the need for further protocol changes. Uses a global spinlock to ensure the decisions to update configfs entries are made on the correct value. The region covered by the spinlock when incrementing the counter is much larger as this is the more critical case. Small cleanup contributed by Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Beekhof <abeekhof@suse.de> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/cluster/tcp_internal.h')
-rw-r--r--fs/ocfs2/cluster/tcp_internal.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/ocfs2/cluster/tcp_internal.h b/fs/ocfs2/cluster/tcp_internal.h
index 56f7ee1d2547..b700dc9624d1 100644
--- a/fs/ocfs2/cluster/tcp_internal.h
+++ b/fs/ocfs2/cluster/tcp_internal.h
@@ -38,6 +38,9 @@
38 * locking semantics of the file system using the protocol. It should 38 * locking semantics of the file system using the protocol. It should
39 * be somewhere else, I'm sure, but right now it isn't. 39 * be somewhere else, I'm sure, but right now it isn't.
40 * 40 *
41 * New in version 5:
42 * - Network timeout checking protocol
43 *
41 * New in version 4: 44 * New in version 4:
42 * - Remove i_generation from lock names for better stat performance. 45 * - Remove i_generation from lock names for better stat performance.
43 * 46 *
@@ -48,10 +51,14 @@
48 * - full 64 bit i_size in the metadata lock lvbs 51 * - full 64 bit i_size in the metadata lock lvbs
49 * - introduction of "rw" lock and pushing meta/data locking down 52 * - introduction of "rw" lock and pushing meta/data locking down
50 */ 53 */
51#define O2NET_PROTOCOL_VERSION 4ULL 54#define O2NET_PROTOCOL_VERSION 5ULL
52struct o2net_handshake { 55struct o2net_handshake {
53 __be64 protocol_version; 56 __be64 protocol_version;
54 __be64 connector_id; 57 __be64 connector_id;
58 __be32 o2hb_heartbeat_timeout_ms;
59 __be32 o2net_idle_timeout_ms;
60 __be32 o2net_keepalive_delay_ms;
61 __be32 o2net_reconnect_delay_ms;
55}; 62};
56 63
57struct o2net_node { 64struct o2net_node {