From mboxrd@z Thu Jan 1 00:00:00 1970 From: wcheng@sourceware.org Date: 24 Oct 2006 03:35:12 -0000 Subject: [Cluster-devel] cluster/gfs-kernel/src/gfs ops_file.c Message-ID: <20061024033512.25604.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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;