/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2005 Oracle. All rights reserved. */ #ifndef O2CLUSTER_TCP_INTERNAL_H #define O2CLUSTER_TCP_INTERNAL_H #define O2NET_MSG_MAGIC … #define O2NET_MSG_STATUS_MAGIC … #define O2NET_MSG_KEEP_REQ_MAGIC … #define O2NET_MSG_KEEP_RESP_MAGIC … /* we're delaying our quorum decision so that heartbeat will have timed * out truly dead nodes by the time we come around to making decisions * on their number */ #define O2NET_QUORUM_DELAY_MS … /* * This version number represents quite a lot, unfortunately. It not * only represents the raw network message protocol on the wire but also * 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 * * New in version 6: * - DLM lockres remote refcount fixes. * * New in version 5: * - Network timeout checking protocol * * New in version 4: * - Remove i_generation from lock names for better stat performance. * * New in version 3: * - Replace dentry votes with a cluster lock * * New in version 2: * - full 64 bit i_size in the metadata lock lvbs * - introduction of "rw" lock and pushing meta/data locking down */ #define O2NET_PROTOCOL_VERSION … struct o2net_handshake { … }; struct o2net_node { … }; struct o2net_sock_container { … }; struct o2net_msg_handler { … }; enum o2net_system_error { … }; struct o2net_status_wait { … }; #ifdef CONFIG_DEBUG_FS /* just for state dumps */ struct o2net_send_tracking { … }; #else struct o2net_send_tracking { u32 dummy; }; #endif /* CONFIG_DEBUG_FS */ #endif /* O2CLUSTER_TCP_INTERNAL_H */