in src/watchdog/__init__.py [0:0]
def get_file_safe_mountpoint(mount):
mountpoint = os.path.abspath(mount.mountpoint).replace(os.sep, ".")
if mountpoint.startswith("."):
mountpoint = mountpoint[1:]
opts = parse_options(mount.options)
if "port" not in opts:
if not check_if_running_on_macos():
# /proc/mounts provides a list of all mounts in use by the system (including the mount options used).
# In the case of tls mount: stunnel establishes a localhost port connection in order to listen on the requests,
# and then send packets further to the server:2049. If the port is 2049 which is the default nfs port,
# /proc/mounts will not display the port number in the options information, thus watchdog process will not treat
# the mount as EFS mount and won't restart the killed stunnel which cause the mount hang.
# So, tlsport=2049 is being added here by appending with the mountpoint.
# Putting a default port 2049 to fix the Stunnel process being killed issue.
opts["port"] = DEFAULT_NFS_PORT
# some other localhost nfs mount not running over stunnel.
# For MacOS, we ignore the port if the port is missing in mount options.
else:
return mountpoint
return mountpoint + "." + opts["port"]