From: Ralph Boehme Date: Thu, 20 Feb 2025 17:20:18 +0000 (+0100) Subject: scavenger: update cleanup_disconnected_share_mode_entry_fn() for Persistent Handles X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=730125128c7f5cb715c380e65903aed0c9f2d8e5;p=thirdparty%2Fsamba.git scavenger: update cleanup_disconnected_share_mode_entry_fn() for Persistent Handles Also don't panic if the disconnected check fails, just log it. Signed-off-by: Ralph Boehme Reviewed-by: Anoop C S --- diff --git a/source3/smbd/scavenger.c b/source3/smbd/scavenger.c index 674c3b9a4f2..5600ac88060 100644 --- a/source3/smbd/scavenger.c +++ b/source3/smbd/scavenger.c @@ -477,7 +477,11 @@ static bool cleanup_disconnected_share_mode_entry_fn( return false; } - disconnected = server_id_is_disconnected(&e->pid); + if (e->flags & SHARE_ENTRY_FLAG_PERSISTENT_OPEN) { + disconnected = !serverid_exists(&e->pid); + } else { + disconnected = server_id_is_disconnected(&e->pid); + } if (!disconnected) { char *name = share_mode_filename(talloc_tos(), state->lck); struct file_id_buf tmp1; @@ -489,7 +493,7 @@ static bool cleanup_disconnected_share_mode_entry_fn( name, server_id_str_buf(e->pid, &tmp2)); TALLOC_FREE(name); - smb_panic(__location__); + return false; } /*