[Cluster-devel] cluster/gfs-kernel/src/gfs glock.c
wcheng at sourceware.org
wcheng at sourceware.org
Thu Jan 25 22:38:39 UTC 2007
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);
}
More information about the Cluster-devel
mailing list