__Register_program :Cannot register NLM V4 on UDP
Hello, We are using NFS Ganesha with a Custom FSAL on a Ubuntu 20 machine . We are using protocols 3 & 4 in the Export block of the ganesha config. When we start the Ganesha process with this config, we are seeing this error "__Register_program :Cannot register NLM V4 on UDP" because of which ganesha is not able to start. We have noticed that when we stop NFS Ganesha with a mount for protocol 3 still open, there are certain RPC ports related to "nlockmgr" which are not freed up by NFS Ganesha process, a zombie process seems to hold the port after Ganesha is stopped and we believe it to be the reason for this issue mount command : mount -t nfs -o vers=3 `hostname -f`:/export /nfs3_mnt/ Stop cmd used : start-stop-daemon --stop --quiet --retry=TERM/60 --pidfile $PIDFILE --exec $GANESHA_BINARY We have identified this issue using "rpcinfo -p" and "netstat -tulp | grep <port>" commands ~# rpcinfo -p program vers proto port service 100003 3 udp 2049 nfs 100003 3 tcp 2049 nfs 100005 1 udp 47766 mountd 100005 1 tcp 42331 mountd 100005 3 udp 47766 mountd 100005 3 tcp 42331 mountd 100003 4 udp 2049 nfs 100003 4 tcp 2049 nfs 100024 1 udp 46356 status 100024 1 tcp 53141 status 100021 1 udp 35565 nlockmgr 100021 3 udp 35565 nlockmgr 100021 4 udp 35565 nlockmgr 100021 1 tcp 38291 nlockmgr 100021 3 tcp 38291 nlockmgr 100021 4 tcp 38291 nlockmgr ~# netstat -tulp | grep 35565 udp 0 0 0.0.0.0:35565 0.0.0.0:* - We are using 5.7 version of Ganesha (libntrpc version 5.0) ~nfs-ganesha# git branch -v * V5-stable 3113f9705 [behind 96] V5.7 ~/nfs-ganesha/src/libntirpc# git branch -v * (HEAD detached from ccb8b9b8) bf7fd025 5.0 build cmd used : cmake -D USE_DBUS=ON -D USE_NFSIDMAP=ON ../src #### Ganesha config with custom FSAL #### LOG { COMPONENTS { ALL = INFO; } } NFSV4 { Delegations = false; } NFS_CORE_PARAM { Plugins_Dir = /custom_fsal/lib; Clustered = false; DRC_TCP_Size = 16; DRC_TCP_Recycle_Expire_S = 60; NFS_Protocols = 3,4; Enable_RQUOTA = false; Num_Log_Files = 1; Max_Logfile_Size = 1073741824; Dirent_Entries_Track = true; } CUSTOMFS { // custom config } EXPORT { Export_Id = 30; Path = /customexport; Pseudo = /export; Squash = No_Root_Squash; Access_Type = RW; FSAL { Name = CUSTOMFS; } Protocols = 3,4; } ################################### We have built ganesha with VFS FSAL on the same version of 5.7 and tried but do not see such issue build cmd used : cmake -D USE_DBUS=ON -D USE_NFSIDMAP=ON -DUSE_GSS=OFF -DBUILD_CONFIG=vfs_only ../src when we stop Ganesha with VFS FSAL using the same " start-stop-daemon --stop --quiet --retry=TERM/60 --pidfile $PIDFILE --exec $GANESHA_BINARY " while having a mount with protocol 3 still open, we have seen that the "rpcinfo -p" command output indicates all the port used is freed up #### Ganesha config with VFS FSAL #### NFS_CORE_PARAM { mount_path_pseudo = true; Protocols = 3,4; Plugins_Dir = /home/hdsh/etc/conf; } EXPORT_DEFAULTS { Access_Type = RW; } EXPORT { Export_Id = 77; # Exported path (mandatory) Path = /home/hdsh; # Pseudo Path (required for NFS v4) Pseudo = /export1; Access_Type = RW; #Sectype = sys; Protocols = 3,4; # Exporting FSAL FSAL { Name = VFS; } } LOG { Default_Log_Level = INFO; } Any help or pointers on why this could be happening in custom FSAL would be really helpful Thank you !
participants (1)
-
shreyas.h-d@hpe.com