]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
3 years agod/control: bump versioned dependency of proxmox-widget-toolkit
Thomas Lamprecht [Thu, 1 Oct 2020 13:29:33 +0000 (15:29 +0200)]
d/control: bump versioned dependency of proxmox-widget-toolkit

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agosrc/tools/parallel_handler.rs: remove lifetime hacks, require 'static
Dietmar Maurer [Thu, 1 Oct 2020 12:48:49 +0000 (14:48 +0200)]
src/tools/parallel_handler.rs: remove lifetime hacks, require 'static

In theory, one can do std::mem::forget, and ignore the drop handler. With
the lifetime hack, this could result in a crash.

So we simply require 'static lifetime now (futures also needs that).

3 years agod/control: add pve-eslint to build dependencies
Thomas Lamprecht [Thu, 1 Oct 2020 12:01:34 +0000 (14:01 +0200)]
d/control: add pve-eslint to build dependencies

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agosrc/tools/parallel_handler.rs: cleanup check_abort code
Dietmar Maurer [Thu, 1 Oct 2020 12:37:29 +0000 (14:37 +0200)]
src/tools/parallel_handler.rs: cleanup check_abort code

3 years agorrd: fix integer underflow
Stefan Reiter [Thu, 1 Oct 2020 09:40:44 +0000 (11:40 +0200)]
rrd: fix integer underflow

Causes a panic if last_update is smaller than RRD_DATA_ENTRIES*reso,
which (I believe) can happen when inserting the first value for a DB.

Clamp the value to 0 in that case.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
3 years agoParallelHandler: check for errors during thread join
Stefan Reiter [Thu, 1 Oct 2020 09:38:42 +0000 (11:38 +0200)]
ParallelHandler: check for errors during thread join

Fix a potential bug where errors that happen after the SendHandle has
been dropped while doing the thread join might have been ignored.
Requires internal check_abort to be moved out of 'impl SendHandle' since
we only have the Mutex left, not the SendHandle.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
3 years agowww: do incremental lint for development, full for build
Thomas Lamprecht [Thu, 1 Oct 2020 11:12:44 +0000 (13:12 +0200)]
www: do incremental lint for development, full for build

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoeslint fixes
Thomas Lamprecht [Thu, 1 Oct 2020 11:03:14 +0000 (13:03 +0200)]
eslint fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodatastore: gc: avoid unsafe call into libc, use epoch_i64 helper
Thomas Lamprecht [Thu, 1 Oct 2020 10:38:38 +0000 (12:38 +0200)]
datastore: gc: avoid unsafe call into libc, use epoch_i64 helper

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodatastore: gc: comment exclusive process lock
Thomas Lamprecht [Thu, 1 Oct 2020 10:38:04 +0000 (12:38 +0200)]
datastore: gc: comment exclusive process lock

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoassume correct backup, avoid verifying chunk existance
Thomas Lamprecht [Thu, 1 Oct 2020 09:59:18 +0000 (11:59 +0200)]
assume correct backup, avoid verifying chunk existance

This can slow things down by a lot on setups with (relatively) high
seek time, in the order of doubling the backup times if cache isn't
populated with the last backups chunk inode info.

Effectively there's nothing known this protects us from in the
codebase. The only thing which was theorized about was the case
where a really long running backup job (over 24 hours) is still
running and writing new chunks, not indexed yet anywhere, then an
update (or manual action) triggers a reload of the proxy. There was
some theory that then a GC in the new daemon would not know about the
oldest writer in the old one, and thus use a less strict atime limit
for chunk sweeping - opening up a window for deleting chunks from the
long running backup.
But, this simply cannot happen as we have a per datastore process
wide flock, which is acquired shared by backup jobs and exclusive by
GC. In the same process GC and backup can both get it, as it has a
process locking granularity. If there's an old daemon with a writer,
that also has the lock open shared, and so no GC in the new process
can get exclusive access to it.

So, with that confirmed we have no need for a "half-assed"
verification in the backup finish step. Rather, we plan to add an
opt-in "full verify each backup on finish" option (see #2988)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agosrc/api2/reader.rs: fix speedtest description
Dietmar Maurer [Thu, 1 Oct 2020 09:16:15 +0000 (11:16 +0200)]
src/api2/reader.rs: fix speedtest description

3 years agosrc/api2/backup.rs: use block_in_place for remove_backup
Dietmar Maurer [Thu, 1 Oct 2020 09:11:14 +0000 (11:11 +0200)]
src/api2/backup.rs: use block_in_place for remove_backup

3 years agoupload_chunk: use block_in_place
Dietmar Maurer [Thu, 1 Oct 2020 09:00:23 +0000 (11:00 +0200)]
upload_chunk: use block_in_place

3 years agoui: RemoteEdit: remove port field and parse it from host field
Dominik Csapak [Thu, 1 Oct 2020 07:57:57 +0000 (09:57 +0200)]
ui: RemoteEdit: remove port field and parse it from host field

use our hostport regexes to parse out a potential port from the host field
and send it individually

this makes for a simpler and cleaner ui

this additionally checks the field for valid input before sending it to
the backend

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoui: RemoteView: improve host columns
Dominik Csapak [Thu, 1 Oct 2020 07:57:56 +0000 (09:57 +0200)]
ui: RemoteView: improve host columns

do not show the default (8007) port
and only add brackets [] to ipv6 addresses if there is a port

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoapi2/types: fix DNS_NAME Regexes
Dominik Csapak [Wed, 30 Sep 2020 14:46:13 +0000 (16:46 +0200)]
api2/types: fix DNS_NAME Regexes

We forgot to put braces around the DNS_NAME regex, and in
DNS_NAME_OR_IP_REGEX

this is wrong because the regex

 ^foo|bar$

matches 'foo' at the beginning and 'bar' at the end, so either

 foobaz
 bazbar

would match. only

 ^(foo|bar)$

 matches only 'foo' and 'bar'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agofix ipv6 handling for remotes/sync jobs
Dominik Csapak [Wed, 30 Sep 2020 11:23:39 +0000 (13:23 +0200)]
fix ipv6 handling for remotes/sync jobs

* add square brackets to ipv6 adresses in BackupRepository if they not
already have some (we save them without in the remote config)

* in get_pull_parameters, we now create a BackupRepository first and use
  those values (which does the [] mapping), this also has the advantage
  that we have one place less were we hardcode 8007 as port

* in the ui, add square brackets for ipv6 adresses for remotes

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agosrc/client/pull.rs: log progress
Dietmar Maurer [Wed, 30 Sep 2020 11:35:09 +0000 (13:35 +0200)]
src/client/pull.rs: log progress

3 years agowww/index.hbs: add nodename to title
Dietmar Maurer [Wed, 30 Sep 2020 10:10:04 +0000 (12:10 +0200)]
www/index.hbs: add nodename to title

3 years agoui: improve running task overlay
Dominik Csapak [Wed, 30 Sep 2020 08:45:07 +0000 (10:45 +0200)]
ui: improve running task overlay

by setting a maxHeight+scrollable
(i used 500px to be still visible on our 'min screen size' 1280x720)

and by disabling emptyText deferral, which now shows the text instantly

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agotasks: improve behaviour on upgrade
Dominik Csapak [Wed, 30 Sep 2020 08:45:06 +0000 (10:45 +0200)]
tasks: improve behaviour on upgrade

when upgrading from a version where we stored all tasks in the 'active' file,
we did not completly account for finished tasks still there

we should update the file when encountering any finished task in
'active' as well as filter them out on the api call (if they get through)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agopaperkey: add html output
Dietmar Maurer [Wed, 30 Sep 2020 07:58:13 +0000 (09:58 +0200)]
paperkey: add html output

3 years agoexamples: fix HttpClient::new usage
Dietmar Maurer [Wed, 30 Sep 2020 07:57:25 +0000 (09:57 +0200)]
examples: fix HttpClient::new usage

3 years agosrc/tools.rs: make command_output return Vec<u8>
Dietmar Maurer [Wed, 30 Sep 2020 07:28:48 +0000 (09:28 +0200)]
src/tools.rs: make command_output return Vec<u8>

And add a new helper to return output as string.

3 years agoui: add port support for remotes
Dominik Csapak [Tue, 29 Sep 2020 14:18:59 +0000 (16:18 +0200)]
ui: add port support for remotes

by adding a field to RemoteEdit and showing it in the grid

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoclient/remote: add support to specify port number
Dominik Csapak [Tue, 29 Sep 2020 14:18:58 +0000 (16:18 +0200)]
client/remote: add support to specify port number

this adds the ability to add port numbers in the backup repo spec
as well as remotes, so that user that are behind a
NAT/Firewall/Reverse proxy can still use it

also adds some explanation and examples to the docs to make it clearer
for h2 client i left the localhost:8007 part, since it is not
configurable where we bind to

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoapi: disks/zfs: check template exsits before enabling zfs-import service
Thomas Lamprecht [Wed, 30 Sep 2020 07:34:21 +0000 (09:34 +0200)]
api: disks/zfs: check template exsits before enabling zfs-import service

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoapi2/node/disks/zfs: instantiate import service
Stoiko Ivanov [Wed, 16 Sep 2020 12:14:18 +0000 (14:14 +0200)]
api2/node/disks/zfs: instantiate import service

When creating a new zpool for a datastore, also instantiate an
import-unit for it. This helps in cases where '/etc/zfs/zool.cache'
get corrupted and thus the pool is not imported upon boot.

This patch needs the corresponding addition of 'zfs-import@.service' in
the zfsonlinux repository.

Suggested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
3 years agoui: add task description for logrotation
Dominik Csapak [Tue, 29 Sep 2020 14:05:54 +0000 (16:05 +0200)]
ui: add task description for logrotation

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoui: RemoteEdit: make comment and fingerprint deletable
Dominik Csapak [Tue, 29 Sep 2020 14:05:53 +0000 (16:05 +0200)]
ui: RemoteEdit: make comment and fingerprint deletable

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agorequire square brackets for ipv6 addresses
Dominik Csapak [Tue, 29 Sep 2020 14:05:52 +0000 (16:05 +0200)]
require square brackets for ipv6 addresses

we need this, because we append the port to this to get a target url
e.g. we print

format!("https://{}:8007/", address)

if address is now an ipv6 (e.g. fe80::1) it would become

https://fe80::1:8007/ which is a valid ipv6 on its own

by using square brackets we get:

https://[fe80::1]:8007/ which now connects to the correct ip/port

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agodocs: fix wrong user in repository explanation
Dominik Csapak [Tue, 29 Sep 2020 14:05:51 +0000 (16:05 +0200)]
docs: fix wrong user in repository explanation

we use 'root@pam' by default, not 'root'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoserver/worker_task: fix panic on slice range when index is empty
Dominik Csapak [Tue, 29 Sep 2020 10:22:02 +0000 (12:22 +0200)]
server/worker_task: fix panic on slice range when index is empty

since len() and MAX_INDEX_TASKS are both usize, they underflow
instead of getting negative values

instead check the sizes and set them accordingly

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoproxmox-backup-proxy: add task archive rotation
Dominik Csapak [Mon, 28 Sep 2020 13:32:12 +0000 (15:32 +0200)]
proxmox-backup-proxy: add task archive rotation

this starts a task once a day at "00:00" that rotates the task log
archive if it is bigger than 500k

if we want, we can make the schedule/size limit/etc. configurable,
but for now it's ok to set fixed values for that

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoserver/worker_task: remove unecessary read_task_list
Dominik Csapak [Mon, 28 Sep 2020 13:32:11 +0000 (15:32 +0200)]
server/worker_task: remove unecessary read_task_list

since there are no users of this anymore and we now have a nicer
TaskListInfoIterator to use, we can drop this function

this also means that 'update_active_workers' does not need to return
a list anymore since we never used that result besides in
read_task_list

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoapi2/status: use the TaskListInfoIterator here
Dominik Csapak [Mon, 28 Sep 2020 13:32:10 +0000 (15:32 +0200)]
api2/status: use the TaskListInfoIterator here

this means that limiting with epoch now works correctly
also change the api type to i64, since that is what the starttime is
saved as

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoapi2/node/tasks: use TaskListInfoIterator instead of read_task_list
Dominik Csapak [Mon, 28 Sep 2020 13:32:09 +0000 (15:32 +0200)]
api2/node/tasks: use TaskListInfoIterator instead of read_task_list

this makes the filtering/limiting much nicer and readable

since we now have potentially an 'infinite' amount of tasks we iterate over,
and cannot now beforehand how many there are, we return the total count
as always 1 higher then requested iff we are not at the end (this is
the case when the amount of entries is smaller than the requested limit)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoserver/worker_task: add TaskListInfoIterator
Dominik Csapak [Mon, 28 Sep 2020 13:32:08 +0000 (15:32 +0200)]
server/worker_task: add TaskListInfoIterator

this is an iterator that reads/parses/updates the task list as
necessary and returns the tasks in descending order (newest first)

it does this by using our logrotate iterator and using a vecdeque

we can use this to iterate over all tasks, even if they are in the
archive and even if the archive is logrotated but only read
as much as we need

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoserver/worker_task: write older tasks into archive file
Dominik Csapak [Mon, 28 Sep 2020 13:32:07 +0000 (15:32 +0200)]
server/worker_task: write older tasks into archive file

instead of removing tasks beyond the 1000 that are in the index
write them into an archive file by appending them at the end
this way we can later still read them

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoserver/worker_task: split task list file into two
Dominik Csapak [Mon, 28 Sep 2020 13:32:06 +0000 (15:32 +0200)]
server/worker_task: split task list file into two

one for only the active tasks and one for up to 1000 finished tasks

factor out the parsing of a task file (we will later need this again)
and use iterator combinators for easier code

we now sort the tasks ascending (this will become important in a later patch)
but reverse (for now) it to keep compatibility

this code also omits the converting into an intermittent hash
since it cannot really happen that we have duplicate tasks in this list
(since the call is locked by an flock, and it is the only place where we
write into the lists)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoserver/worker_task: refactor locking of the task list
Dominik Csapak [Mon, 28 Sep 2020 13:32:05 +0000 (15:32 +0200)]
server/worker_task: refactor locking of the task list

also add the functionality of having a 'shared' (read) lock for the list
we will need this later

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agotools: add logrotate module
Dominik Csapak [Mon, 28 Sep 2020 13:32:04 +0000 (15:32 +0200)]
tools: add logrotate module

this is a helper to rotate and iterate over log files
there is an iterator for open filehandles as well as
only the filename

also it has the possibilty to rotate them
for compression, zstd is used

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoproxmox_backup_client key: allow to generate paperkey for master key
Dietmar Maurer [Tue, 29 Sep 2020 06:19:33 +0000 (08:19 +0200)]
proxmox_backup_client key: allow to generate paperkey for master key

3 years agoproxmox_backup_client key: add new paper-key command
Dietmar Maurer [Mon, 28 Sep 2020 15:40:12 +0000 (17:40 +0200)]
proxmox_backup_client key: add new paper-key command

3 years agoparallel_handler: clippy: 'while_let_loop'
Wolfgang Bumiller [Mon, 28 Sep 2020 07:53:43 +0000 (09:53 +0200)]
parallel_handler: clippy: 'while_let_loop'

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agoparallel_handler: explicit Arc::clone
Wolfgang Bumiller [Mon, 28 Sep 2020 07:44:37 +0000 (09:44 +0200)]
parallel_handler: explicit Arc::clone

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agoparallel_handler: formatting cleanup, doc comment typo fixup
Wolfgang Bumiller [Mon, 28 Sep 2020 07:43:03 +0000 (09:43 +0200)]
parallel_handler: formatting cleanup, doc comment typo fixup

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agodepend on proxmox 0.4.2
Dietmar Maurer [Mon, 28 Sep 2020 08:50:44 +0000 (10:50 +0200)]
depend on proxmox 0.4.2

3 years agoserver/worker_task: factor out task list rendering
Dominik Csapak [Fri, 25 Sep 2020 14:13:19 +0000 (16:13 +0200)]
server/worker_task: factor out task list rendering

we will need this later again

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoapi2/node/tasks: move userfilter to function signature
Dominik Csapak [Fri, 25 Sep 2020 14:13:17 +0000 (16:13 +0200)]
api2/node/tasks: move userfilter to function signature

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agosrc/tools/parallel_handler.rs: remove unnecessary Sync bound
Dietmar Maurer [Sat, 26 Sep 2020 14:13:44 +0000 (16:13 +0200)]
src/tools/parallel_handler.rs: remove unnecessary Sync bound

3 years agosrc/bin/proxmox_backup_client/benchmark.rs: avoid compiler warning
Dietmar Maurer [Sat, 26 Sep 2020 14:13:19 +0000 (16:13 +0200)]
src/bin/proxmox_backup_client/benchmark.rs: avoid compiler warning

3 years agosrc/backup/verify.rs: use ParallelHandler to verify chunks
Dietmar Maurer [Sat, 26 Sep 2020 09:14:37 +0000 (11:14 +0200)]
src/backup/verify.rs: use ParallelHandler to verify chunks

3 years agosrc/backup/verify.rs: cleanup use clause
Dietmar Maurer [Sat, 26 Sep 2020 08:23:44 +0000 (10:23 +0200)]
src/backup/verify.rs: cleanup use clause

3 years agosrc/client/pull.rs: simplify code
Dietmar Maurer [Sat, 26 Sep 2020 08:09:51 +0000 (10:09 +0200)]
src/client/pull.rs: simplify code

3 years agosrc/tools/parallel_handler.rs: remove static lifetime bound from handler_fn
Dietmar Maurer [Sat, 26 Sep 2020 07:22:50 +0000 (09:22 +0200)]
src/tools/parallel_handler.rs: remove static lifetime bound from handler_fn

3 years agosrc/tools/parallel_handler.rs: join all threads in drop handler
Dietmar Maurer [Sat, 26 Sep 2020 06:26:14 +0000 (08:26 +0200)]
src/tools/parallel_handler.rs: join all threads in drop handler

3 years agosrc/tools/parallel_handler.rs: remove unnecessary Sync trait bound
Dietmar Maurer [Sat, 26 Sep 2020 05:37:46 +0000 (07:37 +0200)]
src/tools/parallel_handler.rs: remove unnecessary Sync trait bound

3 years agoui: some more eslint auto-fixes
Thomas Lamprecht [Fri, 25 Sep 2020 16:40:03 +0000 (18:40 +0200)]
ui: some more eslint auto-fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: some more eslint auto-fixes
Thomas Lamprecht [Fri, 25 Sep 2020 16:36:58 +0000 (18:36 +0200)]
ui: some more eslint auto-fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: some more eslint auto-fixes
Thomas Lamprecht [Fri, 25 Sep 2020 16:34:54 +0000 (18:34 +0200)]
ui: some more eslint auto-fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: some eslint auto-fixes
Thomas Lamprecht [Fri, 25 Sep 2020 16:29:42 +0000 (18:29 +0200)]
ui: some eslint auto-fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 0.8.21-1 v0.8.21
Dietmar Maurer [Fri, 25 Sep 2020 11:20:35 +0000 (13:20 +0200)]
bump version to 0.8.21-1

3 years agodebian/control: update
Dietmar Maurer [Fri, 25 Sep 2020 11:17:49 +0000 (13:17 +0200)]
debian/control: update

3 years agosrc/client/pull.rs: use new ParallelHandler
Dietmar Maurer [Fri, 25 Sep 2020 10:14:59 +0000 (12:14 +0200)]
src/client/pull.rs: use new ParallelHandler

3 years agosrc/tools/parallel_handler.rs: execute closure inside a thread pool
Dietmar Maurer [Fri, 25 Sep 2020 10:13:06 +0000 (12:13 +0200)]
src/tools/parallel_handler.rs: execute closure inside a thread pool

3 years agodepend on crossbeam-channel
Dietmar Maurer [Fri, 25 Sep 2020 10:11:52 +0000 (12:11 +0200)]
depend on crossbeam-channel

3 years agodocs: html: show "Proxmox Backup" in navi for small devices
Thomas Lamprecht [Thu, 24 Sep 2020 17:59:28 +0000 (19:59 +0200)]
docs: html: show "Proxmox Backup" in navi for small devices

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: html: improve css for small displays
Thomas Lamprecht [Thu, 24 Sep 2020 17:56:27 +0000 (19:56 +0200)]
docs: html: improve css for small displays

fixed-width navi/toc links were not switched in color for small width
displays, and thus they were barely readable as the background
switches to dark for small widths.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: buildsys: add more dependencies to html target
Thomas Lamprecht [Thu, 24 Sep 2020 17:45:23 +0000 (19:45 +0200)]
docs: buildsys: add more dependencies to html target

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: conf: fix conf for new alabaster theme version
Thomas Lamprecht [Thu, 24 Sep 2020 17:44:50 +0000 (19:44 +0200)]
docs: conf: fix conf for new alabaster theme version

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: html: adapt custom css
Thomas Lamprecht [Thu, 24 Sep 2020 17:43:57 +0000 (19:43 +0200)]
docs: html: adapt custom css

highlighting the current chapter and some other small formatting
improvements

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: index: hide todo list toctree and genindex
Thomas Lamprecht [Thu, 24 Sep 2020 17:42:26 +0000 (19:42 +0200)]
docs: index: hide todo list toctree and genindex

I do not found another way to disable inclusion in the sidebar...

The genindex information is alredy provided through glossary

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: html: adapt sidebar in index page
Thomas Lamprecht [Thu, 24 Sep 2020 17:40:28 +0000 (19:40 +0200)]
docs: html: adapt sidebar in index page

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agouse jobstate mechanism for verify/garbage_collection schedules
Dominik Csapak [Thu, 24 Sep 2020 14:13:54 +0000 (16:13 +0200)]
use jobstate mechanism for verify/garbage_collection schedules

also changes:
* correct comment about reset (replace 'sync' with 'action')
* check schedule change correctly (only when it is actually changed)

with this changes, we can drop the 'lookup_last_worker' method

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoproxy: fix error handling in prune scheduling
Dominik Csapak [Thu, 24 Sep 2020 14:13:53 +0000 (16:13 +0200)]
proxy: fix error handling in prune scheduling

we rely on the jobstate handling to write the error of the worker
into its state file, but we used '?' here in a block which does not
return the error to the block, but to the function/closure instead

so if a prune job failed because of such an '?', we did not write
into the statefile and got a wrong state there

instead use our try_block! macro that wraps the code in a closure

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agobump version to 0.8.20-1
Dietmar Maurer [Thu, 24 Sep 2020 11:17:06 +0000 (13:17 +0200)]
bump version to 0.8.20-1

3 years agosrc/client/pull.rs: decode, verify and write in a separate threads
Dietmar Maurer [Thu, 24 Sep 2020 10:58:53 +0000 (12:58 +0200)]
src/client/pull.rs: decode, verify and write in a separate threads

To maximize throughput.

3 years agosrc/backup/data_blob.rs: add is_encrypted helper
Dietmar Maurer [Thu, 24 Sep 2020 10:36:04 +0000 (12:36 +0200)]
src/backup/data_blob.rs: add is_encrypted helper

3 years agoremove DummyCatalogWriter
Wolfgang Bumiller [Tue, 22 Sep 2020 06:59:54 +0000 (08:59 +0200)]
remove DummyCatalogWriter

we're using an `Option` instead now

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agobenchmark: use compressable data to get more realistic result
Dietmar Maurer [Thu, 24 Sep 2020 06:55:48 +0000 (08:55 +0200)]
benchmark: use compressable data to get more realistic result

And add a benchmatrk to test chunk verify speed (decompress+sha256).

3 years agosrc/backup/data_blob.rs: improve decompress speed
Dietmar Maurer [Thu, 24 Sep 2020 06:52:35 +0000 (08:52 +0200)]
src/backup/data_blob.rs: improve decompress speed

3 years agodocs: add onlineHelp to some panels
Oguz Bektas [Mon, 21 Sep 2020 11:25:48 +0000 (13:25 +0200)]
docs: add onlineHelp to some panels

name sections according to the title or content and add
the respective onlineHelp to the following panels:
- datastore
- user management
- ACL
- backup remote

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Reviewed-By: Dominik Csapak <d.csapak@proxmox.com>
Tested-By: Dominik Csapak <d.csapak@proxmox.com>
3 years agobump version to 0.8.19-1 v0.8.19
Dietmar Maurer [Tue, 22 Sep 2020 11:30:52 +0000 (13:30 +0200)]
bump version to 0.8.19-1

3 years agosrc/api2/reader.rs: use std::fs::read instead of tokio::fs::read
Dietmar Maurer [Tue, 22 Sep 2020 11:27:23 +0000 (13:27 +0200)]
src/api2/reader.rs: use std::fs::read instead of tokio::fs::read

Because it is about 10%& faster this way.

3 years agobump version to 0.8.18-1
Dietmar Maurer [Tue, 22 Sep 2020 10:39:47 +0000 (12:39 +0200)]
bump version to 0.8.18-1

3 years agosrc/client/pull.rs: avoid duplicate downloads using in memory HashSet
Dietmar Maurer [Tue, 22 Sep 2020 10:34:06 +0000 (12:34 +0200)]
src/client/pull.rs: avoid duplicate downloads using in memory HashSet

3 years agosrc/client/pull.rs: allow up to 20 concurrent download streams
Dietmar Maurer [Tue, 22 Sep 2020 07:52:14 +0000 (09:52 +0200)]
src/client/pull.rs: allow up to 20 concurrent download streams

3 years agoremote_chunk_reader.rs: use Arc for cache_hint to make clone faster
Dietmar Maurer [Tue, 22 Sep 2020 07:51:19 +0000 (09:51 +0200)]
remote_chunk_reader.rs: use Arc for cache_hint to make clone faster

3 years agodocs: add version and date to HTML index
Thomas Lamprecht [Mon, 21 Sep 2020 16:25:58 +0000 (18:25 +0200)]
docs: add version and date to HTML index

Similar to the PDF output or the Proxmox VE docs.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 0.8.17-1 v0.8.17
Dietmar Maurer [Mon, 21 Sep 2020 12:09:20 +0000 (14:09 +0200)]
bump version to 0.8.17-1

3 years agosrc/client/pull.rs: remove temporary manifest
Dietmar Maurer [Mon, 21 Sep 2020 12:03:01 +0000 (14:03 +0200)]
src/client/pull.rs: remove temporary manifest

3 years agosrc/client/pull.rs: open temporary manifest with truncate(true)
Dietmar Maurer [Mon, 21 Sep 2020 11:53:35 +0000 (13:53 +0200)]
src/client/pull.rs: open temporary manifest with truncate(true)

To delete any data if the file already exists.

3 years agobump proxmox version to 0.4.1
Dietmar Maurer [Mon, 21 Sep 2020 11:51:33 +0000 (13:51 +0200)]
bump proxmox version to 0.4.1

3 years agofix #3017: check array boundaries before using
Dominik Csapak [Mon, 21 Sep 2020 07:12:32 +0000 (09:12 +0200)]
fix #3017: check array boundaries before using

else we panic here

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agodebian/control: update
Dietmar Maurer [Sat, 19 Sep 2020 14:22:56 +0000 (16:22 +0200)]
debian/control: update

3 years agosrc/backup/chunk_store.rs: disable debug output
Dietmar Maurer [Sat, 19 Sep 2020 13:26:21 +0000 (15:26 +0200)]
src/backup/chunk_store.rs: disable debug output

3 years agosrc/backup/datastore.rs - open_with_path: use Path instead of str
Dietmar Maurer [Sat, 19 Sep 2020 08:01:57 +0000 (10:01 +0200)]
src/backup/datastore.rs - open_with_path: use Path instead of str

3 years agosrc/backup/datastore.rs: new method open_with_path
Dietmar Maurer [Sat, 19 Sep 2020 07:55:21 +0000 (09:55 +0200)]
src/backup/datastore.rs: new method open_with_path

To make testing easier.