gfs2: Remove redundant check from gfs2_glock_dq
authorBob Peterson <rpeterso@redhat.com>
Mon, 2 Aug 2021 14:08:51 +0000 (09:08 -0500)
committerBob Peterson <rpeterso@redhat.com>
Fri, 20 Aug 2021 14:03:46 +0000 (09:03 -0500)
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 <rpeterso@redhat.com>
fs/gfs2/glock.c

index ff8d6a7..e0eaa9c 100644 (file)
@@ -1494,12 +1494,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);