[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4
Changes by:	wcheng 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);
 	}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]