Nembutal has uploaded this change for review.

View Change

NLM: skip unused NSM notification startup

With _INTERNAL_STATD compiled in, nfs_start() calls
process_local_nlm_info() even when runtime Internal_statd is false.
The notification thread writes an NSM_STATE_ENTRY through
nlm_add_entry(), which calls an unset add_nlm_entry callback with
recovery backends such as fs_ng and rados_cluster.

Skip thread creation when internal statd is disabled and both cluster
membership lists are empty. Keep the existing startup path when
internal statd or cluster notification forwarding is configured,
including configurations represented only in cluster_self.

This follows the startup-guard approach and cluster-forwarding caveat
described by robertvi in issue #1424. It avoids an unused startup path;
it does not implement internal NSM recovery for additional backends.

Validation on 15.9:
- Identical isolated fs_ng configuration: original build crashed in
NOTIFY; patched build stayed running and passed NFSv4.1 session and
pseudo-root operations. Internal_statd was left at its default false.
- Cephadm/rados_cluster deployment and downstream ESXi NFSv4.1 smoke
tests passed. This deployment also reset NFS recovery/session state;
the isolated fs_ng comparison is the controlled before/after test.

Internal_statd=true, actual cluster notification forwarding, NLM with
external statd, and recovery of existing state/locks remain untested.
The full regression suite has not been run.

Link: https://github.com/nfs-ganesha/nfs-ganesha/issues/1424
Change-Id: I4b12cedf3db9d313b21a71dd9e12e7a25ed91ae3
Signed-off-by: Bae Seong Wook <seong4749@gmail.com>
---
M src/Protocols/NLM/nsm.c
1 file changed, 9 insertions(+), 0 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/32/1256732/1

To view, visit change 1256732. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I4b12cedf3db9d313b21a71dd9e12e7a25ed91ae3
Gerrit-Change-Number: 1256732
Gerrit-PatchSet: 1
Gerrit-Owner: Nembutal <seong4749@gmail.com>