From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29803 invoked by alias); 23 Jan 2006 21:58:46 -0000 Received: (qmail 29758 invoked by uid 9453); 23 Jan 2006 21:58:45 -0000 Date: Mon, 23 Jan 2006 21:58:00 -0000 Message-ID: <20060123215845.29756.qmail@sourceware.org> From: teigland@sourceware.org To: cluster-cvs@sources.redhat.com Subject: cluster/dlm-kernel/src lockqueue.c Mailing-List: contact cluster-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: cluster-cvs-owner@sourceware.org X-SW-Source: 2006-q1/txt/msg00073.txt.bz2 List-Id: CVSROOT: /cvs/cluster Module name: cluster Branch: STABLE Changes by: teigland@sourceware.org 2006-01-23 21:58:45 Modified files: dlm-kernel/src : lockqueue.c Log message: When GFS uses direct-io PR and CW locks are mixed together on a single resource. To optimize the interaction between these two lock modes, GFS uses LM_FLAG_ANY to request that either of the modes be granted. When the dlm carries out this optimization and grants a PR lock instead of a CW, or a CW instead of a PR, the mode is not switched on the non- master node. So, for example, the lock will be requested in PR mode with the ALTCW flag, it will be granted on the master node in CW mode, but the non master (requesting) node will record the granted mode as PR. Fix by changing the grmode on the non-master node when we get ALTMODE back from the master. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm-kernel/src/lockqueue.c.diff?cvsroot=cluster&only_with_tag=STABLE&r1=1.37.2.6.6.4&r2=1.37.2.6.6.5