diff options
Diffstat (limited to 'services/incremental/IncrementalService.h')
-rw-r--r-- | services/incremental/IncrementalService.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/services/incremental/IncrementalService.h b/services/incremental/IncrementalService.h index 918531b7921c..a6cc94639c8a 100644 --- a/services/incremental/IncrementalService.h +++ b/services/incremental/IncrementalService.h @@ -94,6 +94,10 @@ public: Permanent = 1, }; + enum StorageFlags { + ReadLogsEnabled = 1, + }; + static FileId idFromMetadata(std::span<const uint8_t> metadata); static inline FileId idFromMetadata(std::span<const char> metadata) { return idFromMetadata({(const uint8_t*)metadata.data(), metadata.size()}); @@ -116,6 +120,7 @@ public: int unbind(StorageId storage, std::string_view target); void deleteStorage(StorageId storage); + void disableReadLogs(StorageId storage); int setStorageParams(StorageId storage, bool enableReadLogs); int makeFile(StorageId storage, std::string_view path, int mode, FileId id, @@ -264,6 +269,7 @@ private: const std::string root; Control control; /*const*/ MountId mountId; + int32_t flags = StorageFlags::ReadLogsEnabled; StorageMap storages; BindMap bindPoints; DataLoaderStubPtr dataLoaderStub; @@ -282,6 +288,9 @@ private: StorageMap::iterator makeStorage(StorageId id); + void disableReadLogs() { flags &= ~StorageFlags::ReadLogsEnabled; } + int32_t readLogsEnabled() const { return (flags & StorageFlags::ReadLogsEnabled); } + static void cleanupFilesystem(std::string_view root); }; |