Go to file
Dominik Csapak 05d755b282 fix inserting of worker tasks
when starting a new task, we do two things to keep track of tasks
(in that order):
* updating the 'active' file with a list of tasks with
  'update_active_workers'
* updating the WORKER_TASK_LIST

the second also updates the status of running tasks in the file by
checking if it is still running by checking the WORKER_TASK_LIST

since those two things are not locked, it can happend that
we update the file, and before updating the WORKER_TASK_LIST,
another thread calls update_active_workers and tries to
get the status from the task log, which won't have any data yet
so the status is 'unknown'

(we do not update that status ever, likely for performance reasons,
so we have to fix this here)

by switching the order of the two operations, we make sure that only
tasks reach the 'active' file which are inserted in the WORKER_TASK_LIST

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-28 06:24:42 +02:00
.cargo cargo: switch to use packaged crates by default 2020-01-03 09:40:33 +01:00
debian d/control: proxmox-backup-server: depend on proxmox-backup-docs 2020-05-26 09:37:03 +02:00
docs docs: sync version with the package versions 2020-05-25 20:10:38 +02:00
etc s/pbsbanner/proxmox-backup-banner/ + move to /usr/lib 2020-02-10 14:43:28 +01:00
src fix inserting of worker tasks 2020-05-28 06:24:42 +02:00
tests use reasonable acl paths 2020-04-30 09:30:00 +02:00
www ui: acl view: only update if component is activated 2020-05-26 18:58:21 +02:00
zsh-completions Add zsh completion scripts 2020-02-27 06:50:14 +01:00
.gitignore add Cargo.lock 2019-09-02 15:21:56 +02:00
Cargo.toml depend on proxmox 0.1.37 2020-05-26 13:00:34 +02:00
defines.mk Add zsh completion scripts 2020-02-27 06:50:14 +01:00
Makefile Makefile - upload: upload to correct product repos 2020-03-03 10:56:07 +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.rst: update 2020-05-12 09:35:37 +02: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).