Dietmar Maurer
|
a7c72ad9eb
|
src/backup/fixed_index.rs - FixedIndexReader: remove reference to chunk store
|
2019-07-04 08:13:16 +02:00 |
|
Dietmar Maurer
|
a660978c9a
|
src/backup/datastore.rs: generic index_mark_used_chunks implementation, improve GC stats
|
2019-07-04 07:57:43 +02:00 |
|
Dietmar Maurer
|
1e0784841c
|
src/backup/read_chunk.rs: use &mut self
|
2019-07-03 14:25:18 +02:00 |
|
Dietmar Maurer
|
877dd11133
|
src/backup/{fixed, dynamic}_index.rs: improve error messages
|
2019-07-02 08:56:56 +02:00 |
|
Dietmar Maurer
|
5c593a4d56
|
src/backup/read_chunk.rs: use Arc for DataStore
|
2019-07-02 08:49:16 +02:00 |
|
Dietmar Maurer
|
b850673634
|
src/backup/read_chunk.rs: move read chunk trait into extra file
And implement LocalChunkReader.
|
2019-07-02 08:22:29 +02:00 |
|
Wolfgang Bumiller
|
f35197f449
|
replace tools::vec with proxmox::tools::vec
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-07-01 11:03:25 +02:00 |
|
Wolfgang Bumiller
|
9b2b627fe0
|
update remaining users of tools::io::ops
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-07-01 10:44:03 +02:00 |
|
Wolfgang Bumiller
|
5485b579a1
|
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>
|
2019-07-01 10:37:02 +02:00 |
|
Dietmar Maurer
|
d48a9955a5
|
src/backup/dynamic_index.rs: introduce ReadChunk trait
|
2019-06-28 16:35:00 +02:00 |
|
Dietmar Maurer
|
81a6ce6fde
|
src/backup/chunk_store.rs: new method chunk_path()
Returns the absolute path.
|
2019-06-28 15:48:09 +02:00 |
|
Dietmar Maurer
|
b208da8393
|
src/backup/data_{chunk,blob}.rs: add verify_crc method
|
2019-06-26 09:54:25 +02:00 |
|
Dietmar Maurer
|
bb8231409e
|
src/backup/crypt_config.rs - generate_rsa_encoded_key: store as json
Use the KeyConfig serialization with kdf = None.
|
2019-06-26 07:32:34 +02:00 |
|
Dietmar Maurer
|
c6d203bbd3
|
src/backup/backup_info.rs: also list .blob files
|
2019-06-25 07:07:45 +02:00 |
|
Dietmar Maurer
|
9f46c7de4b
|
src/bin/proxmox-backup-client.rs: upload rsa encoded key after backup
|
2019-06-24 13:56:37 +02:00 |
|
Dietmar Maurer
|
cb08ac3efe
|
src/api2/backup.rs: replace upload_config with upload_blob
|
2019-06-23 11:44:30 +02:00 |
|
Dietmar Maurer
|
a38c5d4d12
|
src/backup/data_blob.rs: implement from_raw()
|
2019-06-23 09:35:44 +02:00 |
|
Dietmar Maurer
|
6f083b7a92
|
src/api2/backup/upload_chunk.rs: compute crc on upload
|
2019-06-23 09:04:42 +02:00 |
|
Dietmar Maurer
|
ba01828d38
|
try to use use proxmox::tools::io::ops::ReadExtOps
|
2019-06-22 16:29:10 +02:00 |
|
Dietmar Maurer
|
27042ce637
|
src/backup/file_formats.rs: improve docs
|
2019-06-22 15:45:36 +02:00 |
|
Dietmar Maurer
|
9f83e0f7ee
|
src/backup/crypt_config.rs: simplify decode interface
|
2019-06-22 13:24:29 +02:00 |
|
Dietmar Maurer
|
0066c6d972
|
src/backup/crypt_config.rs: remove encode_chunk, use encrypt_to instead
|
2019-06-22 13:02:53 +02:00 |
|
Dietmar Maurer
|
ee8a7e8080
|
src/backup/crypt_config.rs: implement encrypt_to (output to writer)
|
2019-06-22 12:25:04 +02:00 |
|
Dietmar Maurer
|
991abfa8b4
|
src/backup/file_formats.rs: split out file format data
|
2019-06-22 09:12:25 +02:00 |
|
Dietmar Maurer
|
b7f4f27d6c
|
add crc field for binary blobs formats
|
2019-06-21 18:49:04 +02:00 |
|
Dietmar Maurer
|
3025b3a53c
|
src/backup/data_blob.rs: new file format for binary blobs
|
2019-06-21 11:32:07 +02:00 |
|
Dietmar Maurer
|
077a8cae63
|
src/backup/crypt_config.rs: make code more flexible
Allow to pass magic numbers as parameters.
|
2019-06-21 10:50:48 +02:00 |
|
Dietmar Maurer
|
c38266c18d
|
renamed: src/backup/crypt_setup.rs -> src/backup/crypt_config.rs
|
2019-06-21 09:51:18 +02:00 |
|
Dietmar Maurer
|
ab44acff57
|
src/backup/key_derivation.rs: add modified field to key file
|
2019-06-20 07:58:33 +02:00 |
|
Dietmar Maurer
|
6d0983dbe1
|
src/bin/proxmox-backup-client.rs: add keyfile parameter for backup
|
2019-06-19 17:16:41 +02:00 |
|
Dietmar Maurer
|
181f097af9
|
src/bin/proxmox-backup-client.rs - key API: pass kdf parameter
Allow to store keys without password.
|
2019-06-18 18:21:01 +02:00 |
|
Dietmar Maurer
|
826f309bf5
|
src/backup/key_derivation.rs: move kdf code into separate file
|
2019-06-18 11:17:22 +02:00 |
|
Dietmar Maurer
|
11515438cc
|
Cargo.toml: use serde feature derive
|
2019-06-18 06:23:25 +02:00 |
|
Dietmar Maurer
|
f2401311b0
|
src/bin/proxmox-backup-client.rs: start key management
|
2019-06-17 10:33:24 +02:00 |
|
Dietmar Maurer
|
a7dd483097
|
src/backup/*_index.rs: used generated magic numbers
|
2019-06-14 14:58:37 +02:00 |
|
Dietmar Maurer
|
bffd40d6b7
|
src/tools.rs: move hex_to_digest and digest_to_hex to proxmox::tools
|
2019-06-14 11:40:04 +02:00 |
|
Dietmar Maurer
|
9335d74eba
|
src/backup/fixed_index.rs: compute checksum over the index
|
2019-06-14 10:34:29 +02:00 |
|
Dietmar Maurer
|
16ff6b7cd8
|
src/backup/dynamic_index.rs: compute checksum over the index
|
2019-06-14 10:33:59 +02:00 |
|
Dietmar Maurer
|
fa148dbd11
|
src/api2/backup/upload_chunk.rs: verify chunk data if possible
|
2019-06-14 06:23:46 +02:00 |
|
Dietmar Maurer
|
f640f23ac5
|
src/backup/data_chunk.rs: fix typo
|
2019-06-13 16:42:55 +02:00 |
|
Dietmar Maurer
|
dba72d5016
|
src/backup/data_chunk.rs: only use compressed data if it is shorter than uncompressed
|
2019-06-13 12:56:50 +02:00 |
|
Dietmar Maurer
|
68ab376ae9
|
src/backup/crypt_setup.rs: only use compressed data if it is shorter than uncompressed
|
2019-06-13 12:47:54 +02:00 |
|
Dietmar Maurer
|
f98ac774ee
|
backup: Add support for client side encryption
first try ...
|
2019-06-13 11:47:23 +02:00 |
|
Dietmar Maurer
|
51929e4532
|
src/backup/data_chunk.rs - decode: make crypt_config optional
|
2019-06-13 11:44:38 +02:00 |
|
Dietmar Maurer
|
046bcb9773
|
src/backup/crypt_setup.rs: add comment for possible improvements
|
2019-06-13 07:35:59 +02:00 |
|
Dietmar Maurer
|
bd0e3c7cfa
|
src/backup/data_chunk.rs: Moved ChunkInfo from merge_known_chunks.rs
|
2019-06-13 07:35:02 +02:00 |
|
Dietmar Maurer
|
b595cb9d2c
|
src/backup/data_chunk.rs: Data Chunk builder
Make handling encoded chunks easier.
|
2019-06-12 13:37:01 +02:00 |
|
Dietmar Maurer
|
ef27200cec
|
src/backup/crypt_setup.rs: fix encoder for uncompressed chunks
|
2019-06-10 09:56:06 +02:00 |
|
Dietmar Maurer
|
74792b95b2
|
src/backup/crypt_setup.rs: allow compressed and uncompressed chunks
|
2019-06-10 08:27:35 +02:00 |
|
Dietmar Maurer
|
9e0187a203
|
src/backup/crypt_setup.rs: remove unused CryptData struct
|
2019-06-10 07:55:36 +02:00 |
|
Dietmar Maurer
|
bec8498ae3
|
src/backup/crypt_setup.rs: avoid useless allocations
|
2019-06-09 11:44:17 +02:00 |
|
Dietmar Maurer
|
48b4b40b57
|
src/backup/crypt_setup.rs: crypto helpers
|
2019-06-08 09:56:51 +02:00 |
|
Wolfgang Bumiller
|
dd5495d6dc
|
tree-wide: use 'dyn' for all trait objects
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-06-07 13:13:48 +02:00 |
|
Dietmar Maurer
|
36898ffce6
|
src/backup/chunk_stream.rs: add optional chunk_size parameter
|
2019-05-30 13:28:24 +02:00 |
|
Dietmar Maurer
|
976595e1a9
|
src/backup/dynamic_index.rs: split class DynamicIndexWriter
|
2019-05-29 08:49:57 +02:00 |
|
Dietmar Maurer
|
cb0708dd46
|
src/backup/fixed_index.rs: remove ChunkStat from struct
|
2019-05-29 07:08:34 +02:00 |
|
Dietmar Maurer
|
01af11f340
|
src/backup/fixed_index.rs: improve consistency checks
|
2019-05-29 07:02:45 +02:00 |
|
Dietmar Maurer
|
006f3ff407
|
src/api2/admin/datastore/backup/environment.rs: add more consistency checks
|
2019-05-28 09:21:31 +02:00 |
|
Dietmar Maurer
|
fc14b84937
|
src/backup/fixed_index.rs: improve bound checks inside add_digest
|
2019-05-28 08:47:03 +02:00 |
|
Dietmar Maurer
|
e1225de467
|
src/backup/fixed_index.rs: store index_length to avoid code duplication
|
2019-05-28 08:27:57 +02:00 |
|
Dietmar Maurer
|
29ae5c86a2
|
src/backup/fixed_index.rs: make chunk_size public
|
2019-05-28 06:18:24 +02:00 |
|
Wolfgang Bumiller
|
8ea3b1d188
|
tree-wide: use the new vec/io tools modules
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-05-23 09:49:10 +02:00 |
|
Dietmar Maurer
|
0cc0fffd1e
|
src/backup/chunk_stream.rs: use BytesMut in ChunkStream
|
2019-05-22 09:39:02 +02:00 |
|
Dietmar Maurer
|
c052be5c86
|
src/backup/chunk_stream.rs: use more generics
|
2019-05-22 09:18:05 +02:00 |
|
Dietmar Maurer
|
169c0e060f
|
src/backup/chunk_stream.rs: optimize FixedChunkStream (use BytesMut)
|
2019-05-22 09:05:35 +02:00 |
|
Dietmar Maurer
|
3be3f3dcc4
|
src/backup/chunk_stream.rs: fix behaviour for large input buffers
|
2019-05-22 08:05:27 +02:00 |
|
Dietmar Maurer
|
02fa54ff3c
|
src/backup/chunk_stream.rs: assemble data with correct order
|
2019-05-22 07:44:51 +02:00 |
|
Dietmar Maurer
|
7f3d2ffab9
|
src/backup/index.rs: rename ChunkListReader into DigestListEncoder
|
2019-05-21 12:28:44 +02:00 |
|
Dietmar Maurer
|
ee53955f52
|
src/backup/index.rs: implement DigestListDecoder
|
2019-05-21 12:21:22 +02:00 |
|
Dietmar Maurer
|
40f4e198a8
|
src/backup/dynamic_index.rs: add chunk_info method
|
2019-05-21 09:52:19 +02:00 |
|
Dietmar Maurer
|
ff77dbbea3
|
Revert "src/backup/chunk_stream.rs: simplify code"
This reverts commit e058744d8f .
The optimization was wrong, and produces wrong chunk boundaries.
|
2019-05-19 11:05:56 +02:00 |
|
Dietmar Maurer
|
e058744d8f
|
src/backup/chunk_stream.rs: simplify code
|
2019-05-18 10:55:46 +02:00 |
|
Dietmar Maurer
|
8a7cc7565f
|
src/backup/chunk_stream.rs: implement fixed size chunk stream
|
2019-05-18 10:55:46 +02:00 |
|
Dietmar Maurer
|
dafc27aeff
|
src/backup/chunk_stream.rs: async chunk stream
|
2019-05-14 10:05:29 +02:00 |
|
Dietmar Maurer
|
457531e7fe
|
src/backup/index.rs: new ChunkListReader
|
2019-05-11 16:01:42 +02:00 |
|
Dietmar Maurer
|
51a4f63ff7
|
src/backup/datastore.rs: move last_backup to BackupInfo
|
2019-05-11 12:07:09 +02:00 |
|
Dietmar Maurer
|
b02a52e3a5
|
src/backup/datastore.rs: impl last_backup helper
|
2019-05-11 11:36:46 +02:00 |
|
Dietmar Maurer
|
c09775011a
|
src/backup/backup_info.rs: implement list_backup for BackupGroup, cleanups
|
2019-05-11 10:19:34 +02:00 |
|
Dietmar Maurer
|
35a2d8a6a6
|
src/backup/backup_info.rs: Derive Clone
|
2019-05-10 06:59:23 +02:00 |
|
Dietmar Maurer
|
f2b99c34f7
|
src/api2/admin/datastore.rs: implement API to return last GC status
|
2019-04-11 12:04:25 +02:00 |
|
Dietmar Maurer
|
d4b59ae0b8
|
src/backup/datastore.rs: pass WorkerTask to GC
So that we can log to the task log file.
|
2019-04-06 17:57:38 +02:00 |
|
Dietmar Maurer
|
92da93b245
|
abort GC on server shutdown
|
2019-04-01 12:13:02 +02:00 |
|
Dietmar Maurer
|
11861a482d
|
src/backup/chunk_store.rs: fix GC
Added option to get oldest_writer timestamp from ProcessLocker.
|
2019-03-31 17:21:36 +02:00 |
|
Dietmar Maurer
|
d85987aeeb
|
fix last commit: the filename var was not ment to be removed, sorry
|
2019-03-31 16:16:14 +02:00 |
|
Dietmar Maurer
|
15a77c4c2e
|
src/backup/chunk_store.rs: avoid create/unlink race
|
2019-03-31 10:03:01 +02:00 |
|
Dietmar Maurer
|
10eea49d81
|
src/backup/fixed_index.rs: store reference to file
Keep it open and locked while index is in use.
|
2019-03-27 10:17:03 +01:00 |
|
Dietmar Maurer
|
c597a92c81
|
index file readers: aquire shared lock
|
2019-03-27 10:11:14 +01:00 |
|
Dietmar Maurer
|
43b1303398
|
datastore: use new ProcessLocker
To make sure only one process runs garbage collection while having active writers.
|
2019-03-22 09:42:15 +01:00 |
|
Dietmar Maurer
|
515688d1f1
|
avoid compiler warnings
|
2019-03-18 10:00:58 +01:00 |
|
Dietmar Maurer
|
8968258b66
|
rename catar into pxar
To avoid confusion with the casync implementation.
|
2019-03-14 10:54:09 +01:00 |
|
Dietmar Maurer
|
8e39232acc
|
src/bin/proxmox-backup-client.rs: strip .didx file extensions
|
2019-03-11 10:54:02 +01:00 |
|
Wolfgang Bumiller
|
06178f13fa
|
move chunker into proxmox_protocol
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-03-08 09:29:47 +01:00 |
|
Dietmar Maurer
|
141f062e08
|
src/backup/chunk_store.rs: use zstd compression insteadf of lz4
Provides better compressionm rate, and is still fast.
|
2019-03-07 11:42:59 +01:00 |
|
Dietmar Maurer
|
d2690f74bb
|
src/backup/chunk_store.rs: read_chunk - clear buffer before calling read_to_end
|
2019-03-07 10:40:01 +01:00 |
|
Dietmar Maurer
|
58e99e138e
|
src/backup/backup_info.rs: new helper to list files
|
2019-03-06 11:02:08 +01:00 |
|
Wolfgang Bumiller
|
e3062f87b1
|
fixed_index: split add_chunk/add_digest
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-03-06 10:25:20 +01:00 |
|
Wolfgang Bumiller
|
c3bb97e59c
|
fixed_index: impl Send for FixedIndexWriter
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-03-06 10:25:20 +01:00 |
|
Wolfgang Bumiller
|
3b7ade9e78
|
backup/datastore: expose insert_chunk method
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-03-06 10:25:20 +01:00 |
|
Wolfgang Bumiller
|
391d310741
|
backup_info: BackupDir shortcut
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-03-05 10:15:06 +01:00 |
|
Wolfgang Bumiller
|
93b49ce38a
|
backup_info: use two independent Into<String> types
there's no reason to force them to be the same input type
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-03-05 09:13:08 +01:00 |
|