Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 101160
b: refs/heads/master
c: 265d529
h: refs/heads/master
v: v3
  • Loading branch information
Steven Whitehouse committed Jul 7, 2008
1 parent 4628411 commit 30b5f01
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f58ba889106af60f52af792efbe1973e458a2138
refs/heads/master: 265d529cef6fd57698d79b3c0edd3a8178059ea6
5 changes: 4 additions & 1 deletion trunk/fs/gfs2/glock.c
Original file line number Diff line number Diff line change
Expand Up @@ -587,6 +587,7 @@ static void run_queue(struct gfs2_glock *gl, const int nonblock)
if (nonblock)
goto out_sched;
set_bit(GLF_DEMOTE_IN_PROGRESS, &gl->gl_flags);
GLOCK_BUG_ON(gl, gl->gl_demote_state == LM_ST_EXCLUSIVE);
gl->gl_target = gl->gl_demote_state;
} else {
if (test_bit(GLF_DEMOTE, &gl->gl_flags))
Expand Down Expand Up @@ -617,7 +618,9 @@ static void glock_work_func(struct work_struct *work)
if (test_and_clear_bit(GLF_REPLY_PENDING, &gl->gl_flags))
finish_xmote(gl, gl->gl_reply);
spin_lock(&gl->gl_spin);
if (test_and_clear_bit(GLF_PENDING_DEMOTE, &gl->gl_flags)) {
if (test_and_clear_bit(GLF_PENDING_DEMOTE, &gl->gl_flags) &&
gl->gl_state != LM_ST_UNLOCKED &&
gl->gl_demote_state != LM_ST_EXCLUSIVE) {
unsigned long holdtime, now = jiffies;
holdtime = gl->gl_tchange + gl->gl_ops->go_min_hold_time;
if (time_before(now, holdtime))
Expand Down

0 comments on commit 30b5f01

Please sign in to comment.