]>
git.proxmox.com Git - proxmox-backup.git/log
Dietmar Maurer [Tue, 16 Jul 2019 11:34:38 +0000 (13:34 +0200)]
src/api2/admin/datastore.rs: add status api call
Dietmar Maurer [Tue, 16 Jul 2019 09:27:45 +0000 (11:27 +0200)]
src/cli/command.rs: add helpers/schema to format output
Dietmar Maurer [Tue, 16 Jul 2019 06:38:02 +0000 (08:38 +0200)]
src/bin/pxar.rs: only print archive name in verbose mode
Dietmar Maurer [Tue, 16 Jul 2019 06:31:40 +0000 (08:31 +0200)]
src/bin/pxar.rs: add --verbose parameter to list (replace dump)
Dietmar Maurer [Tue, 16 Jul 2019 05:30:04 +0000 (07:30 +0200)]
src/bin/proxmox-backup-client.rs: make repository parameter optional
And allow to read it from $ENV{PBS_REPOSITORY}
Dietmar Maurer [Mon, 15 Jul 2019 11:37:27 +0000 (13:37 +0200)]
Cargo.toml: update to latest hyper version
Which already includes our path.
Christian Ebner [Wed, 10 Jul 2019 14:41:01 +0000 (16:41 +0200)]
src/pxar/format_definition.rs: fix typo
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Fri, 5 Jul 2019 10:39:25 +0000 (12:39 +0200)]
src/bin/pxar.rs - extract: allow to read from stdin
Dietmar Maurer [Fri, 5 Jul 2019 10:32:15 +0000 (12:32 +0200)]
src/bin/pxar.rs - dump: allow to read from stdin
Dietmar Maurer [Fri, 5 Jul 2019 10:14:50 +0000 (12:14 +0200)]
src/bin/proxmox-backup-client.rs - restore: allow to pipe output to stdout
Dietmar Maurer [Fri, 5 Jul 2019 09:36:45 +0000 (11:36 +0200)]
src/bin/proxmox-backup-client.rs: remove download cli, do everything in restore
Dietmar Maurer [Fri, 5 Jul 2019 08:42:46 +0000 (10:42 +0200)]
src/client/remote_chunk_reader.rs: implement simple caching
Dietmar Maurer [Fri, 5 Jul 2019 07:19:56 +0000 (09:19 +0200)]
src/backup/fixed_index.rs: implement BufferedFixedReader
Christian Ebner [Thu, 4 Jul 2019 14:15:54 +0000 (16:15 +0200)]
src/pxar/sequential_decoder.rs: major refactoring of restore_sequential()
This splits the functionality of restore_sequential() into several smaller
functions in order to allow to reuse them when restoring by seeking based on
the goodbye table offsets.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 4 Jul 2019 12:24:13 +0000 (14:24 +0200)]
src/pxar/encoder.rs: fix bug with incorrect offset stored in goodbye table
Commit
cd7dc87903a3c45e3d1521c3e7c1ea1500617a23 introduced the special treatment
for .pxarexclude files when stored in the archive.
The incorrect placement of a code snipplet from this path leads to an incorrect
offset and size stored in the goodbye table.
This fix places the start to the correct position, restoring the previously
correct behaviour.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 4 Jul 2019 12:03:20 +0000 (14:03 +0200)]
pxar: Refactor SequentialDecoder to store the callback function within the struct
Reduces the number of arguments for the function calls within the decoder.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Thu, 4 Jul 2019 13:13:22 +0000 (15:13 +0200)]
src/backup/fixed_index.rs: use correct size
We need to consider that the last chunk may have smaller size.
Dietmar Maurer [Thu, 4 Jul 2019 13:11:23 +0000 (15:11 +0200)]
src/client/http_client.rs - finish: hold reference to avoid early connection close
Dietmar Maurer [Thu, 4 Jul 2019 11:40:43 +0000 (13:40 +0200)]
src/api2/backup/environment.rs: improve chunk alignment/size checks
Dietmar Maurer [Thu, 4 Jul 2019 09:39:10 +0000 (11:39 +0200)]
src/backup/chunk_store.rs: coding style fixes
Dietmar Maurer [Thu, 4 Jul 2019 09:27:11 +0000 (11:27 +0200)]
src/backup/chunk_store.rs: additionally log chunk count
Dietmar Maurer [Thu, 4 Jul 2019 09:21:54 +0000 (11:21 +0200)]
src/backup/chunk_store.rs: improve error reporting
Wolfgang Bumiller [Thu, 4 Jul 2019 08:51:52 +0000 (10:51 +0200)]
backup/chunk_store: rework chunk iterator
We can now use iter::from_fn() which makes for a much nicer
logic. The only thing better is going to be when we can use
generators with `yield`.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Thu, 4 Jul 2019 08:51:18 +0000 (10:51 +0200)]
src/client/http_client.rs: s/set_recv_buf_size/set_recv_buffer_size/
Dietmar Maurer [Thu, 4 Jul 2019 08:47:16 +0000 (10:47 +0200)]
src/tools/fs.rs - read_dir: return nix::Result
Dietmar Maurer [Thu, 4 Jul 2019 07:26:44 +0000 (09:26 +0200)]
src/backup/chunk_store.rs - get_chunk_iterator: return percentage inside iterator item
Dietmar Maurer [Thu, 4 Jul 2019 06:17:30 +0000 (08:17 +0200)]
src/backup/dynamic_index.rs: lock file inside new, code cleanup
Dietmar Maurer [Thu, 4 Jul 2019 06:09:48 +0000 (08:09 +0200)]
src/backup/fixed_index.rs - FixedIndexReader: remove reference to chunk store
Dietmar Maurer [Thu, 4 Jul 2019 05:57:43 +0000 (07:57 +0200)]
src/backup/datastore.rs: generic index_mark_used_chunks implementation, improve GC stats
Dietmar Maurer [Wed, 3 Jul 2019 13:45:12 +0000 (15:45 +0200)]
src/bin/proxmox-backup-client.rs: implement restore using BackupReader
Dietmar Maurer [Wed, 3 Jul 2019 12:56:24 +0000 (14:56 +0200)]
src/client/remote_chunk_reader.rs: remove dead code
Dietmar Maurer [Wed, 3 Jul 2019 12:39:13 +0000 (14:39 +0200)]
src/client/remote_chunk_reader.rs: implement remote chunk reader
Dietmar Maurer [Wed, 3 Jul 2019 12:36:02 +0000 (14:36 +0200)]
src/client/http_client.rs: avoid compiler warning
Dietmar Maurer [Wed, 3 Jul 2019 12:26:07 +0000 (14:26 +0200)]
src/client/http_client.rs: return Arc<Self>
Avoid to call canceller for each clone on drop ...
Dietmar Maurer [Wed, 3 Jul 2019 12:25:18 +0000 (14:25 +0200)]
src/backup/read_chunk.rs: use &mut self
Christian Ebner [Mon, 1 Jul 2019 15:36:08 +0000 (17:36 +0200)]
src/pxar/encoder.rs: refactor simple match statements to map_err()
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Mon, 1 Jul 2019 15:24:23 +0000 (17:24 +0200)]
src/pxar/sequential_decoder.rs: refactoring of simple match statements to map_err()
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Mon, 1 Jul 2019 15:03:49 +0000 (17:03 +0200)]
src/pxar/sequential_decoder.rs: Cleanup and fix incorrect error message
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Wed, 3 Jul 2019 10:00:43 +0000 (12:00 +0200)]
src/server/rest.rs: avoid unwrap
Dietmar Maurer [Wed, 3 Jul 2019 09:54:35 +0000 (11:54 +0200)]
src/server/rest.rs: log peer address, use hyper MakeService
Dietmar Maurer [Tue, 2 Jul 2019 11:33:58 +0000 (13:33 +0200)]
use hyper/tokio-openssl instead of hyper/tokio-tls
This exposes the complete SSL setup. And download is much faster
now (600MB/s instead of 130MB/s)!
Dietmar Maurer [Tue, 2 Jul 2019 08:48:58 +0000 (10:48 +0200)]
src/bin/proxmox-backup-proxy.rs: set socket options for max. performance
Dietmar Maurer [Tue, 2 Jul 2019 06:59:33 +0000 (08:59 +0200)]
src/bin/h2s-client.rs: avoid compiler warnings
Dietmar Maurer [Tue, 2 Jul 2019 06:56:56 +0000 (08:56 +0200)]
src/backup/{fixed, dynamic}_index.rs: improve error messages
Dietmar Maurer [Tue, 2 Jul 2019 06:49:16 +0000 (08:49 +0200)]
src/backup/read_chunk.rs: use Arc for DataStore
Dietmar Maurer [Tue, 2 Jul 2019 06:22:29 +0000 (08:22 +0200)]
src/backup/read_chunk.rs: move read chunk trait into extra file
And implement LocalChunkReader.
Dietmar Maurer [Tue, 2 Jul 2019 05:09:46 +0000 (07:09 +0200)]
use latest hyper master branch to include socket buffer size fix
Wolfgang Bumiller [Mon, 1 Jul 2019 09:03:25 +0000 (11:03 +0200)]
replace tools::vec with proxmox::tools::vec
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 1 Jul 2019 08:44:11 +0000 (10:44 +0200)]
tools: remove io module
now completely replaced by proxmox::tools::io.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 1 Jul 2019 08:44:03 +0000 (10:44 +0200)]
update remaining users of tools::io::ops
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 1 Jul 2019 08:39:41 +0000 (10:39 +0200)]
tools: remove read/write
now completely replaced by
proxmox::tools::io::{ReadExt, WriteExt}
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 1 Jul 2019 08:39:13 +0000 (10:39 +0200)]
daemon: remove last use of tools::read/write
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 1 Jul 2019 08:36:59 +0000 (10:36 +0200)]
backup: use new proxmox::tools::io traits
This replaces all `write_value` calls with `write_le_value`
calls!
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Sat, 29 Jun 2019 16:09:50 +0000 (18:09 +0200)]
src/bin/h2s-client.rs: increase tokio tcp stream read buffer size
This improves download speed by factor 10.
Dietmar Maurer [Sat, 29 Jun 2019 13:58:18 +0000 (15:58 +0200)]
src/bin/h2s-client.rs: avoid hyper, use h2 directly
But performance is still bad.
Dietmar Maurer [Sat, 29 Jun 2019 12:57:54 +0000 (14:57 +0200)]
src/bin/h2s-server.rs: test to reproduce slow h2 download
Simplified code, use with h2s-client.rs.
Dietmar Maurer [Sat, 29 Jun 2019 11:43:10 +0000 (13:43 +0200)]
src/bin/download-speed.rs: h2 download speedtest for our server
I get about 30MB/s (much too slow)
Dietmar Maurer [Sat, 29 Jun 2019 09:05:36 +0000 (11:05 +0200)]
src/client/http_client.rs: use maximal h2 window sizes
Dietmar Maurer [Sat, 29 Jun 2019 08:41:24 +0000 (10:41 +0200)]
src/bin/h2client.rs: tune h2 client parameters to get reasonable speed
We now get about 2.5GB/s (not really good, but better)
Dietmar Maurer [Sat, 29 Jun 2019 08:40:43 +0000 (10:40 +0200)]
src/client.rs: make module put_to_stream public
Dietmar Maurer [Sat, 29 Jun 2019 08:08:12 +0000 (10:08 +0200)]
add code to test H2 speed
I currently get about 1MB/s, which is ways too slow (must be a bug)?
Dietmar Maurer [Fri, 28 Jun 2019 14:35:00 +0000 (16:35 +0200)]
src/backup/dynamic_index.rs: introduce ReadChunk trait
Dietmar Maurer [Fri, 28 Jun 2019 14:27:01 +0000 (16:27 +0200)]
src/api2/reader.rs: add download chunk api
Dietmar Maurer [Fri, 28 Jun 2019 14:00:58 +0000 (16:00 +0200)]
src/client/http_client.rs: increase h2 window size, set tcp nodelay option
To increase h2 download speed.
Dietmar Maurer [Fri, 28 Jun 2019 13:48:09 +0000 (15:48 +0200)]
src/backup/chunk_store.rs: new method chunk_path()
Returns the absolute path.
Dietmar Maurer [Fri, 28 Jun 2019 05:07:52 +0000 (07:07 +0200)]
file download: avoid unnecessary copy
Dietmar Maurer [Fri, 28 Jun 2019 05:02:43 +0000 (07:02 +0200)]
src/client/http_client.rs - h2 download: implement flow control
Dietmar Maurer [Thu, 27 Jun 2019 09:14:33 +0000 (11:14 +0200)]
debian/control: add clang build dependency
Dietmar Maurer [Thu, 27 Jun 2019 07:01:41 +0000 (09:01 +0200)]
src/api2/reader.rs: implement backup reader protocol
Dietmar Maurer [Wed, 26 Jun 2019 15:29:12 +0000 (17:29 +0200)]
src/server/h2service.rs: implement generic h2 service
Dietmar Maurer [Wed, 26 Jun 2019 10:09:18 +0000 (12:09 +0200)]
src/client/http_client.rs: split out code to start new h2 connections
Dietmar Maurer [Wed, 26 Jun 2019 07:54:25 +0000 (09:54 +0200)]
src/backup/data_{chunk,blob}.rs: add verify_crc method
Dietmar Maurer [Wed, 26 Jun 2019 07:18:59 +0000 (09:18 +0200)]
src/bin/proxmox-backup-client.rs: decode blobs on download
No more need for that clumsy blob cli (removed).
Dietmar Maurer [Wed, 26 Jun 2019 07:17:13 +0000 (09:17 +0200)]
src/client/http_client.rs - download: use generic Write type, return writer.
Make it possible to write int Vec<u8>.
Dietmar Maurer [Wed, 26 Jun 2019 05:32:34 +0000 (07:32 +0200)]
src/backup/crypt_config.rs - generate_rsa_encoded_key: store as json
Use the KeyConfig serialization with kdf = None.
Dietmar Maurer [Tue, 25 Jun 2019 11:00:37 +0000 (13:00 +0200)]
src/bin/proxmox-backup-client.rs: remove stale download file, start blob cli
Dietmar Maurer [Tue, 25 Jun 2019 10:59:36 +0000 (12:59 +0200)]
src/api2/admin/datastore.rs: use correct path for download
Dietmar Maurer [Tue, 25 Jun 2019 10:43:55 +0000 (12:43 +0200)]
src/client/http_client.rs - download: fix error handling
Dietmar Maurer [Tue, 25 Jun 2019 09:17:24 +0000 (11:17 +0200)]
src/bin/proxmox-backup-client.rs: implement download command
Dietmar Maurer [Tue, 25 Jun 2019 08:16:59 +0000 (10:16 +0200)]
src/api2/admin/datastore.rs: implement generic download method
We simply allow to download raw binary data.
Dietmar Maurer [Tue, 25 Jun 2019 07:45:35 +0000 (09:45 +0200)]
src/api2/admin/datastore/pxar.rs: remove pxar upload api
Upload needs to be done using the backup protocol.
Dietmar Maurer [Tue, 25 Jun 2019 06:12:25 +0000 (08:12 +0200)]
src/api2/admin/datastore.rs: use a worker log log prune actions
Dietmar Maurer [Tue, 25 Jun 2019 05:11:02 +0000 (07:11 +0200)]
src/bin/proxmox-backup-client.rs: strip .blob extension
Dietmar Maurer [Tue, 25 Jun 2019 05:07:45 +0000 (07:07 +0200)]
src/backup/backup_info.rs: also list .blob files
Dietmar Maurer [Tue, 25 Jun 2019 05:00:07 +0000 (07:00 +0200)]
src/bin/proxmox-backup-client.rs: change key name to rsa-encrypted.key
Dietmar Maurer [Tue, 25 Jun 2019 04:19:51 +0000 (06:19 +0200)]
src/cli/command.rs: fix ReST output format
Dietmar Maurer [Mon, 24 Jun 2019 11:56:37 +0000 (13:56 +0200)]
src/bin/proxmox-backup-client.rs: upload rsa encoded key after backup
Christian Ebner [Fri, 21 Jun 2019 16:15:01 +0000 (18:15 +0200)]
pxar: impl .pxarexclude parsing and exclude matching
.pxarexclude files allow to exclude or include parts of a subtree by matching
with a glob pattern. The globs are used according to the matches of fnmatch.
In addition '**' can be used to match multiple directories within the path.
Order of the entries matter, as later ones win over previous ones.
As the .pxarexclude files can be placed at any node of the directory hirarchy,
this implies that matching child entries win over parent entries.
The only exception to this behaviour is, when a parent entry already fully
matched the path, thereby excluding the child entries which would match
otherwise.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Mon, 24 Jun 2019 07:35:37 +0000 (09:35 +0200)]
src/api2/backup/environment.rs: new helper add_blob()
Dietmar Maurer [Sun, 23 Jun 2019 07:48:23 +0000 (09:48 +0200)]
src/api2/backup.rs: replace upload_config with upload_blob
Dietmar Maurer [Sun, 23 Jun 2019 07:35:44 +0000 (09:35 +0200)]
src/backup/data_blob.rs: implement from_raw()
Dietmar Maurer [Sun, 23 Jun 2019 07:04:42 +0000 (09:04 +0200)]
src/api2/backup/upload_chunk.rs: compute crc on upload
Dietmar Maurer [Sat, 22 Jun 2019 14:29:10 +0000 (16:29 +0200)]
try to use use proxmox::tools::io::ops::ReadExtOps
Dietmar Maurer [Sat, 22 Jun 2019 13:45:36 +0000 (15:45 +0200)]
src/backup/file_formats.rs: improve docs
Dietmar Maurer [Sat, 22 Jun 2019 11:24:29 +0000 (13:24 +0200)]
src/backup/crypt_config.rs: simplify decode interface
Dietmar Maurer [Sat, 22 Jun 2019 11:02:53 +0000 (13:02 +0200)]
src/backup/crypt_config.rs: remove encode_chunk, use encrypt_to instead
Dietmar Maurer [Sat, 22 Jun 2019 10:25:04 +0000 (12:25 +0200)]
src/backup/crypt_config.rs: implement encrypt_to (output to writer)
Dietmar Maurer [Sat, 22 Jun 2019 07:12:25 +0000 (09:12 +0200)]
src/backup/file_formats.rs: split out file format data
Dietmar Maurer [Fri, 21 Jun 2019 15:24:21 +0000 (17:24 +0200)]
add crc field for binary blobs formats
Dietmar Maurer [Fri, 21 Jun 2019 13:58:00 +0000 (15:58 +0200)]
depend on crc32fast
We can use this to compute fast checksums to test file integrity (not crypto safe).