]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
gfs2: Remove duplicate check in do_xmote
authorAndreas Gruenbacher <agruenba@redhat.com>
Fri, 8 Aug 2025 21:18:45 +0000 (23:18 +0200)
committerAndreas Gruenbacher <agruenba@redhat.com>
Fri, 12 Sep 2025 10:02:31 +0000 (12:02 +0200)
In do_xmote(), remove the duplicate check for the ->go_sync and
->go_inval glock operations.  They are either both defined, or none of
them are.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Reviewed-by: Andrew Price <anprice@redhat.com>
fs/gfs2/glock.c

index e754214fdb1cfcdbd33728bb381e114e1daa235f..15a90ab8a979ca1784b33ee94d6f5a59cebdcc81 100644 (file)
@@ -714,25 +714,24 @@ __acquires(&gl->gl_lockref.lock)
                                     &gl->gl_flags))
                        return;
        }
-       if (!glops->go_inval && !glops->go_sync)
+       if (!glops->go_inval || !glops->go_sync)
                goto skip_inval;
 
        spin_unlock(&gl->gl_lockref.lock);
-       if (glops->go_sync) {
-               ret = glops->go_sync(gl);
-               /* If we had a problem syncing (due to io errors or whatever,
-                * we should not invalidate the metadata or tell dlm to
-                * release the glock to other nodes.
-                */
-               if (ret) {
-                       if (cmpxchg(&sdp->sd_log_error, 0, ret)) {
-                               fs_err(sdp, "Error %d syncing glock\n", ret);
-                               gfs2_dump_glock(NULL, gl, true);
-                       }
-                       spin_lock(&gl->gl_lockref.lock);
-                       goto skip_inval;
+       ret = glops->go_sync(gl);
+       /* If we had a problem syncing (due to io errors or whatever,
+        * we should not invalidate the metadata or tell dlm to
+        * release the glock to other nodes.
+        */
+       if (ret) {
+               if (cmpxchg(&sdp->sd_log_error, 0, ret)) {
+                       fs_err(sdp, "Error %d syncing glock\n", ret);
+                       gfs2_dump_glock(NULL, gl, true);
                }
+               spin_lock(&gl->gl_lockref.lock);
+               goto skip_inval;
        }
+
        if (test_bit(GLF_INVALIDATE_IN_PROGRESS, &gl->gl_flags)) {
                /*
                 * The call to go_sync should have cleared out the ail list.