From 6f6f56225845452706d87cbb5e528aa1bba496fa Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Fri, 6 Mar 2026 10:35:28 -0800 Subject: [PATCH] Add client timeout to farewell completion wait. Replace unbounded wait_for_completion() with a 120 second timeout to prevent indefinite hangs during unmount if the server never responds to the farewell request. Signed-off-by: Auke Kok --- kmod/src/client.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kmod/src/client.c b/kmod/src/client.c index cffd2bfa..246616c3 100644 --- a/kmod/src/client.c +++ b/kmod/src/client.c @@ -646,8 +646,12 @@ void scoutfs_client_destroy(struct super_block *sb) client_farewell_response, NULL, NULL); if (ret == 0) { - wait_for_completion(&client->farewell_comp); - ret = client->farewell_error; + if (!wait_for_completion_timeout(&client->farewell_comp, + 120 * HZ)) { + ret = -ETIMEDOUT; + } else { + ret = client->farewell_error; + } } if (ret) { scoutfs_inc_counter(sb, client_farewell_error);