sapling/eden
Wez Furlong 1fac9783e3 eden: remove fuse request interrupt code, track requests by internal id
Summary:
This is really a continuation of D13479516; the issue is that
the osxfuse kernel module is very eager to recycle `unique` request
id values, recycling them before our code has had a chance to update
internal state.

This diff re-keys the requests map so that we generate our own sequence
of identifiers to use as the key rather than the fuse protocol `unique`
value.

Because we cannot reliably track by `unique` value we also cannot
reliably implement interrupt support.  We've never really tested
interrupt support, and it relies on functionality in folly futures
that hasn't really been tested or proven either, so I've removed
that functionality as part of this diff.

That allows simplifying some code in RequestData and FuseChannel;
we're now able to simply tack an `.ensure` on the end of the
future chain to ensure that we remove the entry from the map
once the future is resolved, successfully or otherwise.

Reviewed By: chadaustin

Differential Revision: D13679964

fbshipit-source-id: c1081a868c4061de2a725589ec1614959a8e9316
2019-01-16 14:35:33 -08:00
..
benchmarks Cut most of the remaining Thrift SASL integration 2018-11-19 22:40:44 -08:00
cli eden: add a script to build the eden client executable for oss builds 2019-01-15 14:14:32 -08:00
docs add a caching strategy document 2018-12-06 12:33:31 -08:00
fs eden: remove fuse request interrupt code, track requests by internal id 2019-01-16 14:35:33 -08:00
integration Always run doctor checks in 'eden rage' 2019-01-14 14:04:11 -08:00
py eden: add a script to build the eden client executable for oss builds 2019-01-15 14:14:32 -08:00
scripts unmount stale edenfs mounts in eden doctor 2018-01-19 11:06:51 -08:00
test_support Allow systemd opt-in via config 2018-12-10 16:30:06 -08:00
test-data add more files to the basic snapshot 2018-11-26 12:28:52 -08:00
third-party Update FUSE kernel API 2018-10-29 11:17:14 -07:00
win only evict when interest handle is dropped if blob wasn't reloaded 2018-12-10 19:30:28 -08:00
.pyre_configuration.local upgrade fbcode/eden version 2019-01-10 16:13:47 -08:00
Eden.project.toml Eden.project.toml file for Nuclide 2018-04-26 11:05:23 -07:00