Skip to content
Commit 8812ccdf authored by Marc Vef's avatar Marc Vef
Browse files

Merge branch 'marc/292-add-dentry-cache' into 'master'

Resolve "Add dentry cache"

This MR adds a directory entry cache for the client to avoid a huge number of stat calls after readdir, e.g., for `ls -l` type operations. It is experimental and thus disabled by default. Can be enabled via `include/config.hpp` or with the env variable `LIBGKFS_DENTRY_CACHE=ON/OFF`.

It works by using the `extended_dir_entry` RPC to receive some metadata along the the dentries from the daemons. This metadata is then placed into the cache and retrieved in a stat operation (for a cache miss, an RPC is sent with vanilla functionality). The cache is discarded upon close but can be changed via `include/config.hpp`. Note, this may cause semantical issues (removed files will remain in the cache forever).

The performance improvements are already noticeable locally for a couple 1000 files.

Depends on https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/195

Closes #292

Closes #292

See merge request !194
parents e4245996 ab3e3c0f
Pipeline #4731 canceled with stages
in 11 minutes and 53 seconds
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment