From 0cd5ffc42e82e9c307e6b0872bd50038d507d971 Mon Sep 17 00:00:00 2001 From: Sebastien Buisson Date: Mon, 15 Jan 2024 09:57:53 +0100 Subject: [PATCH] LU-16498 obdclass: fix write unlock for internal case Holding a (write) lock is mandatory for put_entry(), so fix that in refresh_entry_internal(). Fixes: 127128bed3 ("LU-16498 obdclass: change uc_lock to rwlock") Test-Parameters: kerberos=true testlist=sanity-krb5 Signed-off-by: Sebastien Buisson Change-Id: If55182ca29f37f2a783fdb88ba46512944a61c47 Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/53674 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger --- lustre/obdclass/upcall_cache_internal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lustre/obdclass/upcall_cache_internal.c b/lustre/obdclass/upcall_cache_internal.c index ca78932..a55b3c9 100644 --- a/lustre/obdclass/upcall_cache_internal.c +++ b/lustre/obdclass/upcall_cache_internal.c @@ -65,8 +65,8 @@ inline int refresh_entry_internal(struct upcall_cache *cache, entry->ue_expire = ktime_get_seconds() + cache->uc_entry_expire; UC_CACHE_SET_VALID(entry); UC_CACHE_CLEAR_ACQUIRING(entry); - write_unlock(&cache->uc_lock); put_entry(cache, entry); + write_unlock(&cache->uc_lock); CDEBUG(D_OTHER, "%s: INTERNAL refreshed entry for '%llu' with %d groups\n", -- 1.8.3.1