sapling/eden/fs
Chad Austin fe557ace7c only evict when interest handle is dropped if blob wasn't reloaded
Summary:
There was a bug in BlobCache where, if you had an interest handle to a
blob, but that blob was evicted anyway and then something else caused
it to be reloaded, dropping your interest handle would cause the blob
to be incorrectly evicted since the reference counts were no longer
compatible. Add a version to cache items and only decrement the
reference count on an item if the interest handle and item agree.

Reviewed By: strager

Differential Revision: D13405144

fbshipit-source-id: aee052bf777e7225551c3ae2b8b69a99f4f77691
2018-12-10 19:30:28 -08:00
..
benchharness standardize some of the benchmark infrastructure 2018-11-13 15:27:50 -08:00
config Create a platform independent way to compare the stats. 2018-11-21 16:38:51 -08:00
fuse remove DirHandle 2018-12-05 01:34:53 -08:00
inodes make readdir POSIX-compliant 2018-12-07 13:01:04 -08:00
journal explicitly complete StreamPublisher stream on destruct 2018-10-01 13:21:59 -07:00
model only evict when interest handle is dropped if blob wasn't reloaded 2018-12-10 19:30:28 -08:00
rocksdb add CMake build files 2018-04-30 14:37:46 -07:00
service Forward systemd startup logs to 'eden start' 2018-12-07 17:07:08 -08:00
sqlite avoid leaking the sqlite3 db if we fail to open it 2018-06-20 16:36:22 -07:00
store only evict when interest handle is dropped if blob wasn't reloaded 2018-12-10 19:30:28 -08:00
takeover folly::Optional -> std::optional 2018-10-23 18:51:59 -07:00
testharness use CoverageSet to drop blobs when they're fully read by FUSE 2018-12-06 12:04:17 -08:00
tracing replace folly::Baton in existing benchmarks with StartingGate 2018-11-13 15:27:51 -08:00
utils use CoverageSet to drop blobs when they're fully read by FUSE 2018-12-06 12:04:17 -08:00
CMakeLists.txt add CMake build files 2018-04-30 14:37:46 -07:00