diff options
Diffstat (limited to 'fs/gfs2/glock.c')
-rw-r--r-- | fs/gfs2/glock.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index e668808b127f..5fbd9d34ce23 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c | |||
@@ -594,12 +594,7 @@ static void run_queue(struct gfs2_glock *gl) | |||
594 | if (!list_empty(&gl->gl_waiters1)) { | 594 | if (!list_empty(&gl->gl_waiters1)) { |
595 | gh = list_entry(gl->gl_waiters1.next, | 595 | gh = list_entry(gl->gl_waiters1.next, |
596 | struct gfs2_holder, gh_list); | 596 | struct gfs2_holder, gh_list); |
597 | 597 | blocked = rq_mutex(gh); | |
598 | if (test_bit(HIF_MUTEX, &gh->gh_iflags)) | ||
599 | blocked = rq_mutex(gh); | ||
600 | else | ||
601 | gfs2_assert_warn(gl->gl_sbd, 0); | ||
602 | |||
603 | } else if (test_bit(GLF_DEMOTE, &gl->gl_flags)) { | 598 | } else if (test_bit(GLF_DEMOTE, &gl->gl_flags)) { |
604 | blocked = rq_demote(gl); | 599 | blocked = rq_demote(gl); |
605 | if (gl->gl_waiters2 && !blocked) { | 600 | if (gl->gl_waiters2 && !blocked) { |
@@ -610,12 +605,7 @@ static void run_queue(struct gfs2_glock *gl) | |||
610 | } else if (!list_empty(&gl->gl_waiters3)) { | 605 | } else if (!list_empty(&gl->gl_waiters3)) { |
611 | gh = list_entry(gl->gl_waiters3.next, | 606 | gh = list_entry(gl->gl_waiters3.next, |
612 | struct gfs2_holder, gh_list); | 607 | struct gfs2_holder, gh_list); |
613 | 608 | blocked = rq_promote(gh); | |
614 | if (test_bit(HIF_PROMOTE, &gh->gh_iflags)) | ||
615 | blocked = rq_promote(gh); | ||
616 | else | ||
617 | gfs2_assert_warn(gl->gl_sbd, 0); | ||
618 | |||
619 | } else | 609 | } else |
620 | break; | 610 | break; |
621 | 611 | ||
@@ -636,7 +626,6 @@ static void gfs2_glmutex_lock(struct gfs2_glock *gl) | |||
636 | struct gfs2_holder gh; | 626 | struct gfs2_holder gh; |
637 | 627 | ||
638 | gfs2_holder_init(gl, 0, 0, &gh); | 628 | gfs2_holder_init(gl, 0, 0, &gh); |
639 | set_bit(HIF_MUTEX, &gh.gh_iflags); | ||
640 | if (test_and_set_bit(HIF_WAIT, &gh.gh_iflags)) | 629 | if (test_and_set_bit(HIF_WAIT, &gh.gh_iflags)) |
641 | BUG(); | 630 | BUG(); |
642 | 631 | ||
@@ -1160,8 +1149,6 @@ restart: | |||
1160 | return -EIO; | 1149 | return -EIO; |
1161 | } | 1150 | } |
1162 | 1151 | ||
1163 | set_bit(HIF_PROMOTE, &gh->gh_iflags); | ||
1164 | |||
1165 | spin_lock(&gl->gl_spin); | 1152 | spin_lock(&gl->gl_spin); |
1166 | add_to_queue(gh); | 1153 | add_to_queue(gh); |
1167 | run_queue(gl); | 1154 | run_queue(gl); |