sapling/eden/win/fs
Adam Simpkins 4dc59b856b ensure that most thrift calls cannot access initializing mounts
Summary:
This updates the `EdenServer` class so that the existing `getMount()` and
`getMountPoints()` APIs only return mounts that have finished initializing.

These APIs are primarily used by the thrift interfaces.  In most cases the
callers did not intend to operate on mounts that were still initializing, and
doing so was unsafe.  The code could potentially dereference a null pointer if
it tried to access the mount's root inode before the root inode object had
been created.

New `getMountUnsafe()` and `getAllMountPoints()` APIs have been added for call
sites that explicitly want to be able to access mounts that may still be
initializing.  Currently the `listMounts()` thrift API is the only location
that needs this.

Reviewed By: strager

Differential Revision: D13981139

fbshipit-source-id: e6168d7a15694c79ca2bcc129dda46f82382e8e9
2019-03-06 20:33:42 -08:00
..
mount ensure that most thrift calls cannot access initializing mounts 2019-03-06 20:33:42 -08:00
service Cleaning up the test code from main(). 2018-12-04 18:14:48 -08:00
store Adding an abstraction layer on the backing store to handle the Windows path conversion. 2018-11-26 08:19:47 -08:00
utils Added MultiProcessorCompilation flag to the Windows build. 2019-02-16 10:56:01 -08:00
edenfs.vcxproj Add FaultInjector to Windows builds 2019-02-19 10:50:48 -08:00
edenfs.vcxproj.filters Add FaultInjector to Windows builds 2019-02-19 10:50:48 -08:00
Edenwin.h Win: Restructured the Windows code to align with the eden code layout 2018-09-28 13:14:11 -07:00