Go to file
Christian Ebner 3e56c4abd7 pxar::fuse: Introduce LRU caching for goodbye table and directory entries.
The goodbye table of directory entries is cached in a LRU cache to speed up
subsequent accesses.
This is especially important for directories with many entries, as then the
readdirplus callback is called repeatedly because of the limited reply buffer
size.

`DirectoryEntry`s are cached for subsequent access in their own LRU cache,
independent of the goodbye tables.

In order to avoid borrow conflicts, the `Context` provides a fn as_mut_refs
as well as a fn run_with_context_refs.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-28 10:06:53 +01:00
.cargo cargo: switch to use packaged crates by default 2020-01-03 09:40:33 +01:00
debian switch to debcargo for generating d/control 2020-01-21 11:45:26 +01:00
docs various packaging fixes, bump version 2019-12-20 12:55:32 +01:00
etc proxmox-backup-proxy.service: order after proxmox-backup.service 2019-12-17 14:11:25 +01:00
qemu-io add qemu-io crate, AioContext reactor helper 2019-05-16 11:59:55 +02:00
src pxar::fuse: Introduce LRU caching for goodbye table and directory entries. 2020-01-28 10:06:53 +01:00
tests fixup tests for the new proxmox crate layout 2020-01-22 10:08:40 +01:00
www DataStoreContent.js - render_backup_type: use better default 2019-12-22 11:09:30 +01:00
.gitignore add Cargo.lock 2019-09-02 15:21:56 +02:00
Cargo.toml use proxmox 0.1.9 with new cli command helpers 2020-01-27 18:08:43 +01:00
defines.mk various packaging fixes, bump version 2019-12-20 12:55:32 +01:00
Makefile switch to debcargo for generating d/control 2020-01-21 11:45:26 +01:00
README.rst remove the rust-toolchain file 2020-01-16 10:45:46 +01:00
rustfmt.toml import rustfmt.toml 2019-08-22 13:44:57 +02:00
TODO.rst todo: remove done suggestion 2020-01-17 16:13:56 +01:00

``rustup`` Toolchain
====================

We normally want to build with the ``rustc`` Debian package. To do that
you can set the following ``rustup`` configuration:

    # rustup toolchain link system /usr
    # rustup default system


Versioning of proxmox helper crates
===================================

To use current git master code of the proxmox* helper crates, add::

   git = "ssh://gitolite3@proxdev.maurer-it.com/rust/proxmox"

or::

   path = "../proxmox/proxmox"

to the proxmox dependency, and update the version to reflect the current,
pre-release version number (e.g., "0.1.1-dev.1" instead of "0.1.0").

Local cargo config
==================

This repository ships with a ``.cargo/config`` that replaces the crates.io
registry with packaged crates located in ``/usr/share/cargo/registry``.

A similar config is also applied building with dh_cargo. Cargo.lock needs to be
deleted when switching between packaged crates and crates.io, since the
checksums are not compatible.

To reference new dependencies (or updated versions) that are not yet packaged,
the dependency needs to point directly to a path or git source (e.g., see
example for proxmox crate above).