nfssvc: When the client disconnects, close the socket before sleeping.
authorratchov <ratchov@openbsd.org>
Fri, 12 Jan 2024 08:47:46 +0000 (08:47 +0000)
committerratchov <ratchov@openbsd.org>
Fri, 12 Jan 2024 08:47:46 +0000 (08:47 +0000)
commit58a5214281b71038e0ae830fcddecf76e884cc3d
tree250e3c67d5a0f468fb967ded9b6e9ebe3e4e1751
parent82f13a2768c269a4d86d3b7e9122e229737a9574
nfssvc: When the client disconnects, close the socket before sleeping.

If the server doesn't close the socket immediately and starts waiting
for the client to reconnect, then the TCP connection will remain open.
The client will have to wait for the connection to be closed in order
to reconnect with the same source port; this never happens, resulting
in a freeze until the file system is umounted.

This change fixes Linux NFS clients freezing after 5 min of inactivity.

ok miod, help from claudio
sys/nfs/nfs_syscalls.c