[Cluster-devel] cluster/gfs-kernel/src/gfs ops_file.c

wcheng at sourceware.org wcheng at sourceware.org
Tue Oct 24 03:35:12 UTC 2006


CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	wcheng at sourceware.org	2006-10-24 03:35:11

Modified files:
	gfs-kernel/src/gfs: ops_file.c 

Log message:
	Bugzilla 211622: GFS1 will asserts at xmote_bh() if DLM grants SHARED
	lock to direct IO's DEFERRED request. Add LM_FLAG_ANY
	to direct read to allow relaxed state and change direct
	write to use EXCLUSIVE lock.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_file.c.diff?cvsroot=cluster&r1=1.26&r2=1.27

--- cluster/gfs-kernel/src/gfs/ops_file.c	2006/10/17 19:02:35	1.26
+++ cluster/gfs-kernel/src/gfs/ops_file.c	2006/10/24 03:35:11	1.27
@@ -303,7 +303,7 @@
 	struct inode *inode = file->f_mapping->host;
 	struct gfs_inode *ip = get_v2ip(inode);
 	unsigned int state = LM_ST_DEFERRED;
-	int flags = 0;
+	int flags = LM_FLAG_ANY;
 	unsigned int x;
 	ssize_t count = 0;
 	int error;
@@ -635,7 +635,7 @@
 	struct gfs_inode *ip = get_v2ip(file->f_mapping->host);
 	struct gfs_sbd *sdp = ip->i_sbd;
 	struct gfs_file *fp = get_v2fp(file);
-	unsigned int state = LM_ST_DEFERRED;
+	unsigned int state = LM_ST_EXCLUSIVE;
 	int alloc_required;
 	unsigned int x;
 	size_t s;




More information about the Cluster-devel mailing list