From mboxrd@z Thu Jan 1 00:00:00 1970 From: wcheng@sourceware.org Date: 25 Jan 2007 22:38:39 -0000 Subject: [Cluster-devel] cluster/gfs-kernel/src/gfs glock.c Message-ID: <20070125223839.20409.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 Branch: RHEL4 Changes by: wcheng at sourceware.org 2007-01-25 22:38:39 Modified files: gfs-kernel/src/gfs: glock.c Log message: Bugzilla 214239 - trimming glock Forgot to increase gl_count in previous check-in. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/glock.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.20.2.4&r2=1.20.2.5 --- cluster/gfs-kernel/src/gfs/glock.c 2007/01/22 07:43:52 1.20.2.4 +++ cluster/gfs-kernel/src/gfs/glock.c 2007/01/25 22:38:39 1.20.2.5 @@ -2550,17 +2550,19 @@ /* * If the associated inode glock has been in unlocked - * state for a while, try to purge it. + * state, try to purge it. */ if (trylock_on_glock(i_gl)) { if (i_gl->gl_state == LM_ST_UNLOCKED) { *p_count = *p_count - 1; unlock_on_glock(i_gl); + atomic_inc(&gl->gl_count); gfs_iopen_go_callback(gl, LM_ST_UNLOCKED); handle_callback(gl, LM_ST_UNLOCKED); spin_lock(&gl->gl_spin); run_queue(gl); spin_unlock(&gl->gl_spin); + glock_put(gl); } else unlock_on_glock(i_gl); }