Loading CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - Create write optimization (`LIBGKFS_CREATE_WRITE_OPTIMIZATION`). - Read inline prefetch (`LIBGKFS_READ_INLINE_PREFETCH`). - Dirents compression (`LIBGKFS_USE_DIRENTS_COMPRESSION`). - Dirents buffer size control (`LIBGKFS_DIRENTS_BUFF_SIZE`). - Added new tests (and enabling failing ones) to increase coverage Loading README.md +2 −1 Original line number Diff line number Diff line Loading @@ -596,6 +596,7 @@ Client-metrics require the CMake argument `-DGKFS_ENABLE_CLIENT_METRICS=ON` (see - `LIBGKFS_CREATE_WRITE_OPTIMIZATION` - Optimization for write operations (default: OFF). - `LIBGKFS_READ_INLINE_PREFETCH` - Prefetch inline data when opening files (default: OFF). - `LIBGKFS_USE_DIRENTS_COMPRESSION` - Enable compression for directory entries (default: OFF). - `LIBGKFS_DIRENTS_BUFF_SIZE` - Buffer size for directory entries (default: 8MB). #### Caching ##### Dentry cache Loading Loading @@ -633,7 +634,7 @@ Using two environment variables - `GKFS_DAEMON_LOG_LEVEL` - Log level of the daemon. Available levels are: `off`, `critical`, `err`, `warn`, `info`, `debug`, `trace`. #### Optimization - `GKFS_DAEMON_USE_INLINE_DATA` - Enable inline data storage (default: ON). - `GKFS_DAEMON_USE_DIRENTS_COMPRESSION` - Enable compression for directory entries (default: OFF). - `GKFS_USE_DIRENTS_COMPRESSION` - Enable compression for directory entries (default: OFF). ### Proxy #### Logging - `GKFS_PROXY_LOG_PATH` - Path to the log file of the proxy. Loading include/client/env.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,9 @@ static constexpr auto PROTECT_FILES_GENERATOR = static constexpr auto PROTECT_FILES_CONSUMER = ADD_PREFIX("PROTECT_FILES_CONSUMER"); static constexpr auto RANGE_FD = ADD_PREFIX("RANGE_FD"); static constexpr auto DIRENTS_BUFF_SIZE = ADD_PREFIX("DIRENTS_BUFF_SIZE"); static constexpr auto USE_DIRENTS_COMPRESSION = ADD_PREFIX("USE_DIRENTS_COMPRESSION"); static constexpr auto NUM_REPL = ADD_PREFIX("NUM_REPL"); static constexpr auto PROXY_PID_FILE = ADD_PREFIX("PROXY_PID_FILE"); Loading include/client/preload_context.hpp +8 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,8 @@ private: bool protect_files_consumer_{false}; bool range_fd_{false}; size_t dirents_buff_size_; std::shared_ptr<gkfs::messagepack::ClientMetrics> write_metrics_; std::shared_ptr<gkfs::messagepack::ClientMetrics> read_metrics_; Loading Loading @@ -348,6 +350,12 @@ public: void range_fd(bool fd); size_t dirents_buff_size() const; void dirents_buff_size(size_t size); const std::shared_ptr<gkfs::messagepack::ClientMetrics> write_metrics(); Loading include/daemon/env.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,9 @@ /* Environment variables for the GekkoFS daemon */ namespace gkfs::env { static constexpr auto METADATA_DB_PATH = ADD_PREFIX("METADATA_DB_PATH"); static constexpr auto USE_DIRENTS_COMPRESSION = ADD_PREFIX("USE_DIRENTS_COMPRESSION"); static constexpr auto HOSTS_FILE = ADD_PREFIX("HOSTS_FILE"); } // namespace gkfs::env Loading Loading
CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - Create write optimization (`LIBGKFS_CREATE_WRITE_OPTIMIZATION`). - Read inline prefetch (`LIBGKFS_READ_INLINE_PREFETCH`). - Dirents compression (`LIBGKFS_USE_DIRENTS_COMPRESSION`). - Dirents buffer size control (`LIBGKFS_DIRENTS_BUFF_SIZE`). - Added new tests (and enabling failing ones) to increase coverage Loading
README.md +2 −1 Original line number Diff line number Diff line Loading @@ -596,6 +596,7 @@ Client-metrics require the CMake argument `-DGKFS_ENABLE_CLIENT_METRICS=ON` (see - `LIBGKFS_CREATE_WRITE_OPTIMIZATION` - Optimization for write operations (default: OFF). - `LIBGKFS_READ_INLINE_PREFETCH` - Prefetch inline data when opening files (default: OFF). - `LIBGKFS_USE_DIRENTS_COMPRESSION` - Enable compression for directory entries (default: OFF). - `LIBGKFS_DIRENTS_BUFF_SIZE` - Buffer size for directory entries (default: 8MB). #### Caching ##### Dentry cache Loading Loading @@ -633,7 +634,7 @@ Using two environment variables - `GKFS_DAEMON_LOG_LEVEL` - Log level of the daemon. Available levels are: `off`, `critical`, `err`, `warn`, `info`, `debug`, `trace`. #### Optimization - `GKFS_DAEMON_USE_INLINE_DATA` - Enable inline data storage (default: ON). - `GKFS_DAEMON_USE_DIRENTS_COMPRESSION` - Enable compression for directory entries (default: OFF). - `GKFS_USE_DIRENTS_COMPRESSION` - Enable compression for directory entries (default: OFF). ### Proxy #### Logging - `GKFS_PROXY_LOG_PATH` - Path to the log file of the proxy. Loading
include/client/env.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,9 @@ static constexpr auto PROTECT_FILES_GENERATOR = static constexpr auto PROTECT_FILES_CONSUMER = ADD_PREFIX("PROTECT_FILES_CONSUMER"); static constexpr auto RANGE_FD = ADD_PREFIX("RANGE_FD"); static constexpr auto DIRENTS_BUFF_SIZE = ADD_PREFIX("DIRENTS_BUFF_SIZE"); static constexpr auto USE_DIRENTS_COMPRESSION = ADD_PREFIX("USE_DIRENTS_COMPRESSION"); static constexpr auto NUM_REPL = ADD_PREFIX("NUM_REPL"); static constexpr auto PROXY_PID_FILE = ADD_PREFIX("PROXY_PID_FILE"); Loading
include/client/preload_context.hpp +8 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,8 @@ private: bool protect_files_consumer_{false}; bool range_fd_{false}; size_t dirents_buff_size_; std::shared_ptr<gkfs::messagepack::ClientMetrics> write_metrics_; std::shared_ptr<gkfs::messagepack::ClientMetrics> read_metrics_; Loading Loading @@ -348,6 +350,12 @@ public: void range_fd(bool fd); size_t dirents_buff_size() const; void dirents_buff_size(size_t size); const std::shared_ptr<gkfs::messagepack::ClientMetrics> write_metrics(); Loading
include/daemon/env.hpp +3 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,9 @@ /* Environment variables for the GekkoFS daemon */ namespace gkfs::env { static constexpr auto METADATA_DB_PATH = ADD_PREFIX("METADATA_DB_PATH"); static constexpr auto USE_DIRENTS_COMPRESSION = ADD_PREFIX("USE_DIRENTS_COMPRESSION"); static constexpr auto HOSTS_FILE = ADD_PREFIX("HOSTS_FILE"); } // namespace gkfs::env Loading