Suhas Athani has uploaded this change for review.
NLM: fix internal statd unmonitor removing wrong recovery entry
With Internal_Statd enabled, nlm_monitor() always records the NLM client
recovery entry with a UDP netid (udp/udp6), because that entry is later
replayed to send SM_NOTIFY over UDP. nlm_unmonitor() instead built the
entry name from host->slc_nconf, the transport the NLM request arrived
on. For NLM over TCP this yields a "(tcp6)" name that was never created:
As a result, every NLM client teardown fails with no entry error
ENOENT in fs_rm_client_records()/fs_rm_entry_impl(), flooding the log
with two EVENT messages per occurrence, and the real (udp6) entry is
never removed, leading to unnecessary SM_NOTIFY after restart/failover.
Fix: select the netconfig in nlm_unmonitor() the same way nlm_monitor()
does, so the remove targets the entry that was actually created.
NLM over UDP was unaffected since both names already matched.
Change-Id: I70a0253b054a5902de18412976e1b5ec6fc1bdad
Signed-off-by: Suhas Athani <Suhas.Athani@ibm.com>
---
M src/Protocols/NLM/nsm.c
1 file changed, 5 insertions(+), 1 deletion(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/41/1253641/1
To view, visit change 1253641. To unsubscribe, or for help writing mail filters, visit settings.