sapling/eden/fs/nfs/rpc
Katie Mancini 1c31dbb822 allow remount after force unmounting
Summary:
Previously if you `sudo umount -f fbsource-nfs` then try to
`eden mount fbsource-nfs`, the mount will fail because the EdenMount already
exists and is still running.

Let's properly unmount our selfs on a force unmount like we do for fuse.
There are two potential ways to detect a fource unmount: the UMNT call to the
mount deamon or the socket to the nfsd closing. The UMNT call is unreliable
(on Linux we do not get the UNMT call on `umount -l`), so this diff pursues the
socket closing option.

When the nfsd socket is closed we trigger the EdenMount unmounting process if
this has not already started.

Reviewed By: xavierd

Differential Revision: D28329482

fbshipit-source-id: 5df8f3eb818a92536095195f1b3a9e412394fbf6
2021-05-27 16:11:50 -07:00
..
test use portable version of gtest 2021-05-12 15:58:27 -07:00
CMakeLists.txt nfs: move servicing of NFS callback to a threadpool 2021-03-29 09:20:33 -07:00
Rpc.cpp nfs: replace folly::io::Appender with folly::io::QueueAppender 2021-03-04 09:59:46 -08:00
Rpc.h nfs: move the XDR macros to Xdr.h 2021-03-04 18:15:33 -08:00
Server.cpp allow remount after force unmounting 2021-05-27 16:11:50 -07:00
Server.h allow remount after force unmounting 2021-05-27 16:11:50 -07:00
StreamClient.cpp nfs: replace folly::io::Appender with folly::io::QueueAppender 2021-03-04 09:59:46 -08:00
StreamClient.h nfs: replace folly::io::Appender with folly::io::QueueAppender 2021-03-04 09:59:46 -08:00