sapling/eden/fs/inodes
Katie Mancini 53d3f1e6cd Templatize ObjectCache
Summary:
We would like to use a limited size LRU cache fore trees as well as blobs,
so I am templatizing this to allow us to use this cache for trees.

Trees will not need to use Interest handles, but in the future we could use
this cache for blob metadata, which might want to use interest handles.
Additionally if we at somepoint change the inode tree scheme that would remove
the tree content from the inodes itself, interest handle might be useful for
trees. We could also use this cache proxy hashes which may or may not use
interest handles. Since some caches may want interest handles and others will
not I am creating get/insert functions that work with and without interest
handles.

Reviewed By: chadaustin

Differential Revision: D27797025

fbshipit-source-id: 6db3e6ade56a9f65f851c01eeea5de734371d8f0
2021-04-27 17:38:39 -07:00
..
overlay overlay: only log first 50 fsck errors 2021-04-22 13:12:50 -07:00
sqliteoverlay sqlite: release StatementCache before releasing SqliteDatabase 2021-03-16 23:30:22 -07:00
test Templatize ObjectCache 2021-04-27 17:38:39 -07:00
treeoverlay Remove thrift setters 2021-04-27 15:16:06 -07:00
CacheHint.h Tidy up license headers 2019-10-11 05:28:23 -07:00
CheckoutAction.cpp remove dependency on glog 2020-11-10 16:31:15 -08:00
CheckoutAction.h Avoid overfetching in checkout 2020-11-03 10:58:22 -08:00
CheckoutContext.cpp Apply clang-format update fixes 2021-01-10 10:06:29 -08:00
CheckoutContext.h logging for thrift object fetch: checkout 2020-07-26 23:09:40 -07:00
CMakeLists.txt nfs: implement SETATTR RPC 2021-03-11 08:31:07 -08:00
DeferredDiffEntry.cpp remove dependency on glog 2020-11-10 16:31:15 -08:00
DeferredDiffEntry.h add an ObjectFetchContext interface 2020-02-05 13:15:01 -08:00
DirEntry.cpp remove dependency on glog 2020-11-10 16:31:15 -08:00
DirEntry.h utils: introduce CaseSensitivity 2021-04-20 13:08:27 -07:00
EdenDispatcherFactory.cpp fs: add an NfsDispatcher 2021-02-17 23:32:38 -08:00
EdenDispatcherFactory.h fs: add an NfsDispatcher 2021-02-17 23:32:38 -08:00
EdenMount.cpp inodes: make tree-overlay a checkout configuration 2021-04-19 19:49:33 -07:00
EdenMount.h inodes: make lastCheckoutTime an atomic 2021-04-19 14:38:14 -07:00
EdenMountError.h Tidy up license headers 2019-10-11 05:28:23 -07:00
FileInode.cpp Templatize ObjectCache 2021-04-27 17:38:39 -07:00
FileInode.h inodes: make InodeBase::setattr independant from FUSE 2021-03-05 11:11:19 -08:00
FuseDispatcherImpl.cpp fuse: rename DirList into FuseDirList 2021-03-18 10:08:49 -07:00
FuseDispatcherImpl.h fuse: rename DirList into FuseDirList 2021-03-18 10:08:49 -07:00
GlobNode.cpp Rename Try::throwIfFailed -> throwUnlessValue 2021-01-11 13:05:17 -08:00
GlobNode.h Allow specifying commits to match against and prefetch in globFiles 2020-10-29 13:34:06 -07:00
InodeBase.cpp inodes: make lastCheckoutTime an EdenTimestamp 2021-04-19 14:38:14 -07:00
InodeBase.h inodes: make lastCheckoutTime an EdenTimestamp 2021-04-19 14:38:14 -07:00
InodeError.cpp allow querying Overlay file size outside of FileInode 2020-10-23 11:16:10 -07:00
InodeError.h Tidy up license headers 2019-10-11 05:28:23 -07:00
InodeLoader.h utils: introduce CaseSensitivity 2021-04-20 13:08:27 -07:00
InodeMap.cpp inodes: make the fs refcount a flag on Windows 2020-12-04 09:13:37 -08:00
InodeMap.h inodes: rename the fuseRefcount in InodeMap 2020-11-16 09:03:18 -08:00
InodeMetadata.cpp inodes: make InodeBase::setattr independant from FUSE 2021-03-05 11:11:19 -08:00
InodeMetadata.h inodes: make InodeBase::setattr independant from FUSE 2021-03-05 11:11:19 -08:00
InodeNumber.cpp inodes: move fuse/InodeNumber.{cpp,h} into inodes/ 2020-09-02 12:15:48 -07:00
InodeNumber.h remove dependency on glog 2020-11-10 16:31:15 -08:00
InodePtr-defs.h remove dependency on glog 2020-11-10 16:31:15 -08:00
InodePtr.cpp Apply clang-format update fixes 2021-01-10 10:06:29 -08:00
InodePtr.h remove dependency on glog 2020-11-10 16:31:15 -08:00
InodePtrFwd.h Tidy up license headers 2019-10-11 05:28:23 -07:00
InodeTable.h Apply clang-format update fixes 2021-01-10 10:06:29 -08:00
InodeTimestamps.cpp inodes: make InodeBase::setattr independant from FUSE 2021-03-05 11:11:19 -08:00
InodeTimestamps.h inodes: make lastCheckoutTime an EdenTimestamp 2021-04-19 14:38:14 -07:00
IOverlay.h add new operation-aware APIs to IOverlay 2021-03-02 09:58:16 -08:00
NfsDispatcherImpl.cpp nfs: implement the MKNOD procedure 2021-04-13 15:17:35 -07:00
NfsDispatcherImpl.h nfs: implement the MKNOD procedure 2021-04-13 15:17:35 -07:00
Overlay.cpp utils: introduce CaseSensitivity 2021-04-20 13:08:27 -07:00
Overlay.h utils: introduce CaseSensitivity 2021-04-20 13:08:27 -07:00
OverlayFile.cpp implement FUSE_FALLOCATE 2021-01-20 19:04:59 -08:00
OverlayFile.h implement FUSE_FALLOCATE 2021-01-20 19:04:59 -08:00
OverlayFileAccess.cpp implement FUSE_FALLOCATE 2021-01-20 19:04:59 -08:00
OverlayFileAccess.h implement FUSE_FALLOCATE 2021-01-20 19:04:59 -08:00
ParentInodeInfo.h Tidy up license headers 2019-10-11 05:28:23 -07:00
PrjfsDispatcherImpl.cpp inodes: thread an ObjectContext into unlink/rmdir 2021-03-04 17:51:50 -08:00
PrjfsDispatcherImpl.h inodes: move dispatchers around 2021-02-10 11:52:06 -08:00
RequestContext.cpp telemetry: switch to using quantile stats instead of histograms 2021-02-14 16:37:08 -08:00
RequestContext.h telemetry: switch to using quantile stats instead of histograms 2021-02-14 16:37:08 -08:00
ServerState.cpp nfs: add NfsServer class 2021-02-09 12:47:11 -08:00
ServerState.h nfs: add NfsServer class 2021-02-09 12:47:11 -08:00
Traverse.cpp inodes: make loadOverlayDir to return empty dir when missing 2021-03-02 09:58:18 -08:00
Traverse.h inodes: rename FUSE refcount to fs refcount 2020-11-04 17:34:01 -08:00
TreeInode.cpp utils: introduce CaseSensitivity 2021-04-20 13:08:27 -07:00
TreeInode.h utils: introduce CaseSensitivity 2021-04-20 13:08:27 -07:00
TreePrefetchLease.cpp limit the number of tree prefetch operations that can run in parallel 2019-12-20 16:14:19 -08:00
TreePrefetchLease.h fix one case of logging of null ClientPid 2020-08-31 10:05:02 -07:00