diff options
| -rw-r--r-- | fs/gfs2/glock.c | 2 | ||||
| -rw-r--r-- | fs/gfs2/glops.c | 19 | ||||
| -rw-r--r-- | fs/gfs2/incore.h | 2 | ||||
| -rw-r--r-- | fs/gfs2/lock_dlm.c | 4 | ||||
| -rw-r--r-- | fs/gfs2/trace_gfs2.h | 1 | ||||
| -rw-r--r-- | fs/gfs2/util.c | 10 |
6 files changed, 0 insertions, 38 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index a3abf418446b..c420838248be 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -2312,8 +2312,6 @@ static const char *gflags2str(char *buf, const struct gfs2_glock *gl) *p++ = 'o'; if (test_bit(GLF_BLOCKING, gflags)) *p++ = 'b'; - if (test_bit(GLF_UNLOCKED, gflags)) - *p++ = 'x'; if (test_bit(GLF_INSTANTIATE_NEEDED, gflags)) *p++ = 'n'; if (test_bit(GLF_INSTANTIATE_IN_PROG, gflags)) diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c index 242e47926b39..8573ad6a78fb 100644 --- a/fs/gfs2/glops.c +++ b/fs/gfs2/glops.c @@ -639,24 +639,6 @@ static void iopen_go_callback(struct gfs2_glock *gl, bool remote) } /** - * inode_go_unlocked - wake up anyone waiting for dlm's unlock ast - * @gl: glock being unlocked - * - * For now, this is only used for the journal inode glock. In withdraw - * situations, we need to wait for the glock to be unlocked so that we know - * other nodes may proceed with recovery / journal replay. - */ -static void inode_go_unlocked(struct gfs2_glock *gl) -{ - /* Note that we cannot reference gl_object because it's already set - * to NULL by this point in its lifecycle. */ - if (!test_bit(GLF_UNLOCKED, &gl->gl_flags)) - return; - clear_bit_unlock(GLF_UNLOCKED, &gl->gl_flags); - wake_up_bit(&gl->gl_flags, GLF_UNLOCKED); -} - -/** * nondisk_go_callback - used to signal when a node did a withdraw * @gl: the nondisk glock * @remote: true if this came from a different cluster node @@ -718,7 +700,6 @@ const struct gfs2_glock_operations gfs2_inode_glops = { .go_dump = inode_go_dump, .go_type = LM_TYPE_INODE, .go_flags = GLOF_ASPACE | GLOF_LVB, - .go_unlocked = inode_go_unlocked, }; const struct gfs2_glock_operations gfs2_rgrp_glops = { diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index 191a5fcc5d74..c72c06d9e77c 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -223,7 +223,6 @@ struct gfs2_glock_operations { void (*go_dump)(struct seq_file *seq, const struct gfs2_glock *gl, const char *fs_id_buf); void (*go_callback)(struct gfs2_glock *gl, bool remote); - void (*go_unlocked)(struct gfs2_glock *gl); const int go_subclass; const int go_type; const unsigned long go_flags; @@ -326,7 +325,6 @@ enum { GLF_LRU = 13, GLF_OBJECT = 14, /* Used only for tracing */ GLF_BLOCKING = 15, - GLF_UNLOCKED = 16, /* Wait for glock to be unlocked */ GLF_TRY_TO_EVICT = 17, /* iopen glocks only */ GLF_VERIFY_DELETE = 18, /* iopen glocks only */ GLF_PENDING_REPLY = 19, diff --git a/fs/gfs2/lock_dlm.c b/fs/gfs2/lock_dlm.c index 301e17345f52..a118f71adb00 100644 --- a/fs/gfs2/lock_dlm.c +++ b/fs/gfs2/lock_dlm.c @@ -15,8 +15,6 @@ #include <linux/sched/signal.h> #include "incore.h" -#include "glock.h" -#include "glops.h" #include "recovery.h" #include "util.h" #include "sys.h" @@ -139,8 +137,6 @@ static void gdlm_ast(void *arg) switch (gl->gl_lksb.sb_status) { case -DLM_EUNLOCK: /* Unlocked, so glock can be freed */ - if (gl->gl_ops->go_unlocked) - gl->gl_ops->go_unlocked(gl); gfs2_glock_free(gl); return; case -DLM_ECANCEL: /* Cancel while getting lock */ diff --git a/fs/gfs2/trace_gfs2.h b/fs/gfs2/trace_gfs2.h index 1c2507a27318..fcfbf68ec725 100644 --- a/fs/gfs2/trace_gfs2.h +++ b/fs/gfs2/trace_gfs2.h @@ -59,7 +59,6 @@ {(1UL << GLF_LRU), "L" }, \ {(1UL << GLF_OBJECT), "o" }, \ {(1UL << GLF_BLOCKING), "b" }, \ - {(1UL << GLF_UNLOCKED), "x" }, \ {(1UL << GLF_INSTANTIATE_NEEDED), "n" }, \ {(1UL << GLF_INSTANTIATE_IN_PROG), "N" }, \ {(1UL << GLF_TRY_TO_EVICT), "e" }, \ diff --git a/fs/gfs2/util.c b/fs/gfs2/util.c index 3ffcba4fbbd4..797613503858 100644 --- a/fs/gfs2/util.c +++ b/fs/gfs2/util.c @@ -199,16 +199,6 @@ static void signal_our_withdraw(struct gfs2_sbd *sdp) iput(inode); sdp->sd_jdesc->jd_inode = NULL; /* - * Wait until the journal inode's glock is freed. This allows try locks - * on other nodes to be successful, otherwise we remain the owner of - * the glock as far as dlm is concerned. - */ - if (i_gl->gl_ops->go_unlocked) { - set_bit(GLF_UNLOCKED, &i_gl->gl_flags); - wait_on_bit(&i_gl->gl_flags, GLF_UNLOCKED, TASK_UNINTERRUPTIBLE); - } - - /* * Dequeue the "live" glock, but keep a reference so it's never freed. */ gfs2_glock_hold(live_gl); |
