gfs2: Remove unused function gfs2_glock_dq_wait
With no users left for gfs2_glock_dq_wait, this function and the mechanism that
triggers it can be removed.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 29f9b66..d199b34 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -465,12 +465,10 @@ static void state_change(struct gfs2_glock *gl, unsigned int new_state)
gl->gl_tchange = jiffies;
}
-static void gfs2_demote_wake(struct gfs2_glock *gl)
+static void gfs2_demote(struct gfs2_glock *gl)
{
gl->gl_demote_state = LM_ST_EXCLUSIVE;
clear_bit(GLF_DEMOTE, &gl->gl_flags);
- smp_mb__after_atomic();
- wake_up_bit(&gl->gl_flags, GLF_DEMOTE);
}
/**
@@ -538,7 +536,7 @@ static void finish_xmote(struct gfs2_glock *gl, unsigned int ret)
/* Fast path - we got what we asked for */
if (test_and_clear_bit(GLF_DEMOTE_IN_PROGRESS, &gl->gl_flags))
- gfs2_demote_wake(gl);
+ gfs2_demote(gl);
if (state != LM_ST_UNLOCKED) {
if (glops->go_xmote_bh) {
spin_unlock(&gl->gl_lockref.lock);
@@ -730,7 +728,7 @@ __acquires(&gl->gl_lockref.lock)
gl->gl_target = gl->gl_demote_state;
} else {
if (test_bit(GLF_DEMOTE, &gl->gl_flags))
- gfs2_demote_wake(gl);
+ gfs2_demote(gl);
ret = do_promote(gl);
if (ret == 0)
goto out_unlock;
@@ -1366,14 +1364,6 @@ void gfs2_glock_dq(struct gfs2_holder *gh)
spin_unlock(&gl->gl_lockref.lock);
}
-void gfs2_glock_dq_wait(struct gfs2_holder *gh)
-{
- struct gfs2_glock *gl = gh->gh_gl;
- gfs2_glock_dq(gh);
- might_sleep();
- wait_on_bit(&gl->gl_flags, GLF_DEMOTE, TASK_UNINTERRUPTIBLE);
-}
-
/**
* gfs2_glock_dq_uninit - dequeue a holder from a glock and initialize it
* @gh: the holder structure
diff --git a/fs/gfs2/glock.h b/fs/gfs2/glock.h
index b8adaf8..53e6509 100644
--- a/fs/gfs2/glock.h
+++ b/fs/gfs2/glock.h
@@ -192,7 +192,6 @@ extern int gfs2_glock_poll(struct gfs2_holder *gh);
extern int gfs2_glock_wait(struct gfs2_holder *gh);
extern int gfs2_glock_async_wait(unsigned int num_gh, struct gfs2_holder *ghs);
extern void gfs2_glock_dq(struct gfs2_holder *gh);
-extern void gfs2_glock_dq_wait(struct gfs2_holder *gh);
extern void gfs2_glock_dq_uninit(struct gfs2_holder *gh);
extern int gfs2_glock_nq_num(struct gfs2_sbd *sdp, u64 number,
const struct gfs2_glock_operations *glops,