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

[Cluster-devel] [GFS2] Fix demotion criteria in clear_glock



Hi,

It seems that the drop locks callback was causing a problem by trying to
demote locks which are still part of transactions. This patch means that
we will now ignore locks which are still in use in a transaction when
looking for demotion candidates.

Steve.


diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 6618c11..82bd64b 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1791,6 +1791,7 @@ static void clear_glock(struct gfs2_glock *gl)
 
 	if (gfs2_glmutex_trylock(gl)) {
 		if (list_empty(&gl->gl_holders) &&
+		    !atomic_read(&gl->gl_ail_count) &&
 		    gl->gl_state != LM_ST_UNLOCKED)
 			handle_callback(gl, LM_ST_UNLOCKED);
 		gfs2_glmutex_unlock(gl);



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