浏览代码

ocfs2/dlm: Use negotiated o2dlm protocol version

Patch fixes a bug in the o2dlm protocol negotiation in that it is using
the builtin version rather than the negotiated version during the domain
join. This causes join errors when a node having kernel >= 2.6.37 joins
a cluster with nodes having kernels < 2.6.37.

This only affects the o2cb cluster stack.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Reported-by: Jacek Stepniewski <Jacek.Stepniewski@agora.pl>
Acked-by: Mark Fasheh <mfasheh@suse.com>
Signed-off-by: Joel Becker <jlbec@evilplan.org>
Sunil Mushran 14 年之前
父节点
当前提交
4da6dc2936
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      fs/ocfs2/dlm/dlmdomain.c

+ 2 - 1
fs/ocfs2/dlm/dlmdomain.c

@@ -1614,7 +1614,8 @@ static int dlm_try_to_join_domain(struct dlm_ctxt *dlm)
 	spin_unlock(&dlm->spinlock);
 	spin_unlock(&dlm->spinlock);
 
 
 	/* Support for global heartbeat and node info was added in 1.1 */
 	/* Support for global heartbeat and node info was added in 1.1 */
-	if (dlm_protocol.pv_major > 1 || dlm_protocol.pv_minor > 0) {
+	if (dlm->dlm_locking_proto.pv_major > 1 ||
+	    dlm->dlm_locking_proto.pv_minor > 0) {
 		status = dlm_send_nodeinfo(dlm, ctxt->yes_resp_map);
 		status = dlm_send_nodeinfo(dlm, ctxt->yes_resp_map);
 		if (status) {
 		if (status) {
 			mlog_errno(status);
 			mlog_errno(status);