This is the mail archive of the cluster-cvs@sources.redhat.com mailing list for the cluster.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cluster/dlm-kernel/src locking.c


CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	teigland@sourceware.org	2005-02-23 07:37:38

Modified files:
	dlm-kernel/src : locking.c 

Log message:
	When locks on the convert queue are granted, we need to try again to grant
	locks from the beginning of the convert queue.  Locks at the beginning may
	not be grantable because of locks at the end.  But, granting locks at the
	end (permitted when using the NOORDER flag) may make earlier locks
	grantable.  Specifically, we have the following situation when running
	"gfs_tool freeze" in parallel on three machines:
	
	Granted 1 PR
	2 PR
	3 PR
	
	* nodeid 3 converts PR->CW
	
	Granted 1 PR
	2 PR
	Convert 3 PR->CW
	
	* nodeid 2 converts PR->CW
	granted mode is demoted to avoid conversion deadlock
	
	Granted 1 PR
	Convert 2 NL->CW
	3 PR->CW
	
	* nodeid 1 converts PR->CW
	granted mode is demoted to avoid conversion deadlock
	
	Granted
	Convert 1 NL->CW
	2 NL->CW
	3 PR->CW
	
	* conversions for 1 and 2 are blocked by 3's PR
	* conversion for 3 is granted
	
	Granted 3 CW
	Convert 1 NL->CW
	2 NL->CW
	
	* other conversions are now grantable, we must try to grant them again

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/cluster/dlm-kernel/src/locking.c.diff?cvsroot=cluster&r1=1.56&r2=1.57


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]