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

Re: [Cluster-devel] [GFS2 PATCH] Handle multiple glock demote requests



Josef Bacik wrote:
 	set_bit(GLF_LOCK, &gl->gl_flags);
+	set_bit(GLF_DEMOTE_IN_PROGRESS, &gl->gl_flags);
 	if (gl->gl_demote_state == LM_ST_UNLOCKED ||
 	    gl->gl_state != LM_ST_EXCLUSIVE) {
 		spin_unlock(&gl->gl_spin);
@@ -575,6 +576,8 @@ static int rq_demote(struct gfs2_glock *
 		spin_unlock(&gl->gl_spin);
 		gfs2_glock_xmote_th(gl, NULL);
 	}
+
+	clear_bit(GLF_DEMOTE_IN_PROGRESS, &gl->gl_flags);
 	spin_lock(&gl->gl_spin);


May want to move the clear_bit inside the spin_lock so you don't end up having
the same race where we clear the bit while inside handle_callback.

Yep... good point .... Will make changes .. Wendy


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