1
0
mirror of https://github.com/Zygo/bees.git synced 2025-07-12 13:12:26 +02:00

context: get rid of shared_ptr<BeesContext> in every single cached Fd object

Support for multiple BeesContext objects sharing a FdCache was wasting
significant space and atomic inc/dec memory cycles for no good reason
since the shared-FdCache feature was deprecated.

open_root and open_root_ino still need a BeesContext to work.  Pass the
BeesContext pointer through the function object instead of the cache
key arguments.

Signed-off-by: Zygo Blaxell <bees@furryterror.org>
This commit is contained in:
Zygo Blaxell
2021-04-28 21:54:00 -04:00
parent db65031c2b
commit 80c69f1ce4
3 changed files with 21 additions and 19 deletions

View File

@ -709,7 +709,7 @@ BeesRoots::open_root(uint64_t rootid)
return Fd();
}
return m_ctx->fd_cache()->open_root(m_ctx, rootid);
return m_ctx->fd_cache()->open_root(rootid);
}
bool
@ -906,7 +906,7 @@ BeesRoots::open_root_ino_nocache(uint64_t root, uint64_t ino)
Fd
BeesRoots::open_root_ino(uint64_t root, uint64_t ino)
{
return m_ctx->fd_cache()->open_root_ino(m_ctx, root, ino);
return m_ctx->fd_cache()->open_root_ino(root, ino);
}
RateEstimator &