summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2025-07-08 23:07:17 +0300
committerAndreas Gruenbacher <agruenba@redhat.com>2025-09-12 13:02:08 +0300
commit418c854759341cdf687240bd064de09ce38b92c5 (patch)
treebbc8e2d685dc768937af679c8bc50e54758bd756
parent4250e683de69a637b93f7c7bda7818b36b1cf32e (diff)
downloadlinux-418c854759341cdf687240bd064de09ce38b92c5.tar.xz
gfs2: Partially revert "gfs2: do_xmote fixes"
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>
-rw-r--r--fs/gfs2/glock.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 8a7f947883cd..5bdb11de5b13 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -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;
}
}