In function gfs2_glock_dq, it checks to see if this is the fast path.
Before this patch, it checked both "find_first_holder(gl) == NULL" and
list_empty(&gl->gl_holders), which is redundant. If gl_holders is empty
then find_first_holder must return NULL. This patch removes the
redundancy.

Signed-off-by: Bob Peterson <rpete...@redhat.com>
---
 fs/gfs2/glock.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index f0b846ba5cc8..1d421998535e 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1484,12 +1484,11 @@ void gfs2_glock_dq(struct gfs2_holder *gh)
 
        list_del_init(&gh->gh_list);
        clear_bit(HIF_HOLDER, &gh->gh_iflags);
-       if (find_first_holder(gl) == NULL) {
-               if (list_empty(&gl->gl_holders) &&
-                   !test_bit(GLF_PENDING_DEMOTE, &gl->gl_flags) &&
-                   !test_bit(GLF_DEMOTE, &gl->gl_flags))
-                       fast_path = 1;
-       }
+       if (list_empty(&gl->gl_holders) &&
+           !test_bit(GLF_PENDING_DEMOTE, &gl->gl_flags) &&
+           !test_bit(GLF_DEMOTE, &gl->gl_flags))
+               fast_path = 1;
+
        if (!test_bit(GLF_LFLUSH, &gl->gl_flags) && demote_ok(gl))
                gfs2_glock_add_to_lru(gl);
 
-- 
2.31.1

Reply via email to