John Ramsden has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1256299?usp=email ) Change subject: fix(rados-grace): shut down the client before process exit ...................................................................... fix(rados-grace): shut down the client before process exit cluster_connect() loses the rados client handle, leaving its workers running when main returns and C++ static destruction begins. This can cause segmentation faults or aborts during process exit. Retain the handle in main and destroy the I/O context before shutting down the client on both successful and failed operations. Initialize both handles so cleanup is safe before connection, and return the client handle immediately after creation so partial setup failures also release it. Route setup and grace-object creation failures through the common exit path without changing command dispatch or grace logic. Those errors retain exit status 1 and now also print the common failure diagnostic after cleanup. Bug: https://github.com/canonical/microceph/issues/899 Change-Id: Ib8517f12a949ac4ab32570e0fc64032201f82dcf Assisted-By: omp (openai-codex/gpt-6-astra) Assisted-By: omp (openai-codex/gpt-6.1-sol) Signed-off-by: John Ramsden <john.ramsden@canonical.com> --- M src/tools/ganesha-rados-grace.c 1 file changed, 14 insertions(+), 7 deletions(-) git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/99/1256299/1 -- To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1256299?usp=email To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: ffilz/nfs-ganesha Gerrit-Branch: next Gerrit-Change-Id: Ib8517f12a949ac4ab32570e0fc64032201f82dcf Gerrit-Change-Number: 1256299 Gerrit-PatchSet: 1 Gerrit-Owner: John Ramsden <john.ramsden@canonical.com>