]> www.infradead.org Git - users/hch/misc.git/commitdiff
gfs2: Partially revert "gfs2: do_xmote fixes"
authorAndreas Gruenbacher <agruenba@redhat.com>
Tue, 8 Jul 2025 20:07:17 +0000 (22:07 +0200)
committerAndreas Gruenbacher <agruenba@redhat.com>
Fri, 12 Sep 2025 10:02:08 +0000 (12:02 +0200)
When the lm_lock hook which calls dlm_lock() returns an error,
do_xmote() previously reported the error to the syslog ("lm_lock ret
%d\n") but otherwise ignored it during withdraws.  Commit 9947a06d29c0
("gfs2: do_xmote fixes") changed that to pass the error on to the glock
layer, but the error would then only result in an unconditional BUG() in
finish_xmote(), which doesn't help.  Instead, revert to the previous
behavior.

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

index 8a7f947883cdfc1ee272cdcd298efa69fdca6044..5bdb11de5b132bb19abd7dac6b1f21f8c0c1db88 100644 (file)
@@ -832,7 +832,8 @@ skip_inval:
                         */
                } else {
                        fs_err(sdp, "lm_lock ret %d\n", ret);
-                       target = gl->gl_state | LM_OUT_ERROR;
+                       GLOCK_BUG_ON(gl, !gfs2_withdrawing_or_withdrawn(sdp));
+                       return;
                }
        }