From: Jeff Layton Date: Fri, 3 Mar 2023 12:15:57 +0000 (-0500) Subject: lockd: purge resources held on behalf of nlm clients when shutting down X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=bfca7a6f0c75f5d97f5efc2c80cca55bdbf5f79a;p=linux.git lockd: purge resources held on behalf of nlm clients when shutting down It's easily possible for the server to have an outstanding lock when we go to shut down. When that happens, we often get a warning like this in the kernel log: lockd: couldn't shutdown host module for net f0000000! This is because the shutdown procedures skip removing any hosts that still have outstanding resources (locks). Eventually, things seem to get cleaned up anyway, but the log message is unsettling, and server shutdown doesn't seem to be working the way it was intended. Ensure that we tear down any resources held on behalf of a client when tearing one down for server shutdown. Reported-by: Yongcheng Yang Link: https://bugzilla.redhat.com/show_bug.cgi?id=2063818 Signed-off-by: Jeff Layton Signed-off-by: Chuck Lever --- diff --git a/fs/lockd/host.c b/fs/lockd/host.c index cdc8e12cdac44..127a728fcbc81 100644 --- a/fs/lockd/host.c +++ b/fs/lockd/host.c @@ -629,6 +629,7 @@ nlm_shutdown_hosts_net(struct net *net) rpc_shutdown_client(host->h_rpcclnt); host->h_rpcclnt = NULL; } + nlmsvc_free_host_resources(host); } /* Then, perform a garbage collection pass */