kernel_optimize_test/fs/ocfs2/cluster
Joel Becker d24fbcda0c ocfs2: Negotiate locking protocol versions.
Currently, when ocfs2 nodes connect via TCP, they advertise their
compatibility level.  If the versions do not match, two nodes cannot speak
to each other and they disconnect. As a result, this provides no forward or
backwards compatibility.

This patch implements a simple protocol negotiation at the dlm level by
introducing a major/minor version number scheme for entities that
communicate.  Specifically, o2dlm has a major/minor version for interaction
with o2dlm on other nodes, and ocfs2 itself has a major/minor version for
interacting with the filesystem on other nodes.

This will allow rolling upgrades of ocfs2 clusters when changes to the
locking or network protocols can be done in a backwards compatible manner.
In those cases, only the minor number is changed and the negotatied protocol
minor is returned from dlm join. In the far less likely event that a
required protocol change makes backwards compatibility impossible, we simply
bump the major number.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
2008-02-06 16:11:29 -08:00
..
endian.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00
heartbeat.c [PATCH] Fix possibly too long write in o2hb_setup_one_bio() 2007-11-06 15:35:35 -08:00
heartbeat.h ocfs2: Update default cluster timeouts 2008-01-25 15:05:45 -08:00
Makefile [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00
masklog.c kset: convert ocfs2 to use kset_create 2008-01-24 20:40:23 -08:00
masklog.h ocfs2: Filter -ENOSPC in mlog_errno() 2007-11-27 16:47:01 -08:00
nodemanager.c ocfs2: live heartbeat depends on the local node configuration 2007-07-10 17:19:43 -07:00
nodemanager.h ocfs2: live heartbeat depends on the local node configuration 2007-07-10 17:19:43 -07:00
ocfs2_heartbeat.h ocfs2: warn the user on a dead timeout mismatch 2006-06-29 15:45:35 -07:00
ocfs2_nodemanager.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00
quorum.c ocfs2: Replace panic() with emergency_restart() when fencing 2007-04-26 13:39:02 -07:00
quorum.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00
sys.c ocfs2: Fix userspace ABI breakage in sysfs 2008-01-28 19:10:23 -08:00
sys.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00
tcp_internal.h ocfs2: Negotiate locking protocol versions. 2008-02-06 16:11:29 -08:00
tcp.c remove nonsense force-casts from ocfs2 2007-12-05 09:25:20 -08:00
tcp.h ocfs2: Update default cluster timeouts 2008-01-25 15:05:45 -08:00
ver.c ocfs2: bump version number 2008-01-25 15:05:46 -08:00
ver.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00