Dietmar Maurer
|
4b4eba0b9e
|
src/api2/pull.rs: implement delete flag for vanished groups
|
2020-01-17 11:24:55 +01:00 |
|
Dietmar Maurer
|
d0187a51a9
|
src/section_config.rs - convert_to_array: optionally add digest
datastore::config() -> also return digest
remotes::config() -> also return digest
|
2020-01-14 12:57:03 +01:00 |
|
Dietmar Maurer
|
7759eef552
|
src/backup/datastore.rs: implement cleanup_backup_dir()
|
2020-01-05 15:15:12 +01:00 |
|
Dietmar Maurer
|
2585a8a4e2
|
src/backup/chunk_store.rs: implement cond_touch_chunk()
This will be used by backup sync to test if a chunk already exists.
|
2020-01-02 13:26:28 +01:00 |
|
Dietmar Maurer
|
1cf5178ac5
|
src/backup/datastore.rs: new helper try_shared_chunk_store_lock()
|
2020-01-02 11:00:33 +01:00 |
|
Dietmar Maurer
|
1e8da0a789
|
src/backup/manifest.rs: new helper archive_type()
|
2019-12-31 15:23:41 +01:00 |
|
Dietmar Maurer
|
868c585219
|
src/backup/datastore.rs: avoid divide by zero
|
2019-12-19 07:14:23 +01:00 |
|
Dietmar Maurer
|
73e57f244e
|
src/backup/datastore.rs - garbage-collection: fix average chunk size
|
2019-12-10 11:25:29 +01:00 |
|
Dietmar Maurer
|
4ee8f53d07
|
remove DataChunk file format - use DataBlob instead
|
2019-10-06 10:31:06 +02:00 |
|
Wolfgang Bumiller
|
b21851cc5c
|
clippy: collapse identical if branches
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-09-11 13:57:58 +02:00 |
|
Wolfgang Bumiller
|
367f002ee2
|
use statement cleanup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-08-16 12:28:40 +02:00 |
|
Dietmar Maurer
|
a57360983b
|
src/backup/chunk_store.rs - get_chunk_iterator: return percentage inside iterator item
|
2019-07-04 09:26:44 +02:00 |
|
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
|
d48a9955a5
|
src/backup/dynamic_index.rs: introduce ReadChunk trait
|
2019-06-28 16:35:00 +02:00 |
|
Dietmar Maurer
|
f98ac774ee
|
backup: Add support for client side encryption
first try ...
|
2019-06-13 11:47:23 +02:00 |
|
Dietmar Maurer
|
976595e1a9
|
src/backup/dynamic_index.rs: split class DynamicIndexWriter
|
2019-05-29 08:49:57 +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
|
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
|
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
|
58e99e138e
|
src/backup/backup_info.rs: new helper to list files
|
2019-03-06 11:02:08 +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 |
|
Dietmar Maurer
|
b3483782d1
|
src/backup/backup_info.rs: move code into separate file
Also changed create_backup_dir() parameters - uses &BackupDir now.
|
2019-03-05 07:18:12 +01:00 |
|
Dietmar Maurer
|
2b01a22507
|
src/backup/datastore.rs: add helper to sort backup lists
|
2019-03-04 18:20:57 +01:00 |
|
Dietmar Maurer
|
875fb1c01a
|
src/backup/datastore.rs: use unix epoch to create DateTime
To make sure that we have a timestamp without nanosecond.
|
2019-03-04 17:58:22 +01:00 |
|
Dietmar Maurer
|
38f8815925
|
src/backup/datastore.rs: use new() function to create structs
|
2019-03-04 17:44:27 +01:00 |
|
Dietmar Maurer
|
9b492eb256
|
src/backup/datastore.rs: protect BackupDir fields, impl new()
|
2019-03-04 13:51:36 +01:00 |
|
Dietmar Maurer
|
1e9a94e579
|
src/backup/datastore.rs: protect BackupGroup fields, impl new()
|
2019-03-04 13:38:23 +01:00 |
|
Dietmar Maurer
|
f72dfd2d10
|
src/backup/datastore.rs: make sure timestamp does not contains nanoseconds
Because we want simple, readable file names.
|
2019-03-04 09:37:10 +01:00 |
|
Dietmar Maurer
|
6f62c9240a
|
src/api2/admin/datastore.rs: imp delete_snapshot
|
2019-03-03 11:29:00 +01:00 |
|
Dietmar Maurer
|
184f17afad
|
src/api2/admin/datastore.rs: impl list_snapshots
|
2019-03-02 16:20:50 +01:00 |
|
Dietmar Maurer
|
e909522f06
|
src/backup/datastore.rs: use timestamp with zone offset
|
2019-03-01 17:36:40 +01:00 |
|
Dietmar Maurer
|
dc4c09faae
|
src/backup/datastore.rs: split BackupDir
|
2019-03-01 16:26:35 +01:00 |
|
Dietmar Maurer
|
38b0dfa511
|
src/backup/datastore.rs: split BackupInfo
|
2019-03-01 16:26:35 +01:00 |
|
Dietmar Maurer
|
541b908ea4
|
src/backup/datastore.rs: use DateTime<Utc> instead of unix epoch
|
2019-02-28 17:03:48 +01:00 |
|
Wolfgang Bumiller
|
5de2bced2d
|
datastore: add generic open_index
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-02-28 15:26:40 +01:00 |
|
Dietmar Maurer
|
8f57971714
|
src/api2/admin/datastore.rs: implement prune
|
2019-02-28 12:51:27 +01:00 |
|
Wolfgang Bumiller
|
8731e40a7f
|
backup/datastore: create_backup_dir: show if path existed
To enable asserting the creation of a new backup rather than
adding to an existing one.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-02-27 10:15:36 +01:00 |
|
Wolfgang Bumiller
|
eff25ecaf2
|
backup/chunk_store: make percentage output optional
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-02-25 13:44:29 +01:00 |
|
Wolfgang Bumiller
|
d59397e60e
|
backup/datastore: expose chunk_store.get_chunk_iterator
will be used by the protocol handler to iterate over
existing chunks
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-02-25 13:44:29 +01:00 |
|
Dietmar Maurer
|
8c75372b79
|
src/backup/datastore.rs: list_backups() - include list of index files
|
2019-02-20 13:37:44 +01:00 |
|
Dietmar Maurer
|
f0a6112451
|
backup/datastore.rs: improve error reporting
|
2019-02-15 14:33:03 +01:00 |
|
Dietmar Maurer
|
af6f80d3db
|
Revert "backup/datastore: fn open is a private implementation detail"
This reverts commit 3dacd9a660 .
I currently use this in some test ...
|
2019-02-14 13:13:49 +01:00 |
|
Wolfgang Bumiller
|
3dacd9a660
|
backup/datastore: fn open is a private implementation detail
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-02-14 12:37:31 +01:00 |
|
Dietmar Maurer
|
e5064ba607
|
simplify backup lib structure (pub use xxx:*), improve doc
|
2019-02-12 14:13:31 +01:00 |
|
Dietmar Maurer
|
93d5d77952
|
rename ArchiveIndex to DynamicIndex
also changed the file extension from .aidx to .didx
|
2019-02-12 12:05:33 +01:00 |
|
Dietmar Maurer
|
91a905b6dd
|
rename ImageIndex to FixedIndex
also changed the file extension fron .iidx to .fidx
|
2019-02-12 11:50:45 +01:00 |
|
Dietmar Maurer
|
9f49fe1d5d
|
avoid compiler warnings
|
2019-01-30 18:25:37 +01:00 |
|
Dietmar Maurer
|
784252dbc5
|
backup/datastore.rs: use single lazy_static block
|
2019-01-24 14:58:47 +01:00 |
|
Dietmar Maurer
|
7ca80246ea
|
backup/datastore.rs: use DateTime<Utc> to store backup time
|
2019-01-21 10:51:52 +01:00 |
|
Dietmar Maurer
|
be0084b001
|
white space fix
|
2019-01-21 10:32:07 +01:00 |
|
Dietmar Maurer
|
e25736b4c3
|
backup/datastore.rs: implement list_backups
|
2019-01-20 18:02:27 +01:00 |
|
Dietmar Maurer
|
6a4c091616
|
api3/admin/datastore/catar.rs: start impl. download
|
2019-01-19 17:27:02 +01:00 |
|
Dietmar Maurer
|
95cea65b04
|
backup/datastore.rs: list all index files using walkdir crate
|
2019-01-18 12:24:58 +01:00 |
|
Dietmar Maurer
|
ff3d3100d4
|
backup/datastore.rs: try to create useful directory layout
store/type/ID/TIME/xxx.yyy
|
2019-01-18 12:01:37 +01:00 |
|
Dietmar Maurer
|
150f1bd8f6
|
backup/datastore.rs: use Arc for chunk_store references
|
2019-01-15 12:36:16 +01:00 |
|
Dietmar Maurer
|
1629d2ad7b
|
api3/admin/datastore/upload_catar.rs: implement upload future
|
2019-01-15 11:38:26 +01:00 |
|
Dietmar Maurer
|
bc616633d5
|
backup/chunk_store.rs: only use one directory level
|
2019-01-04 10:35:22 +01:00 |
|
Dietmar Maurer
|
77703d95aa
|
implement garbage collection for .aidx files
|
2019-01-02 14:27:04 +01:00 |
|
Dietmar Maurer
|
0433db1949
|
src/backup/archive_index.rs: first try
|
2018-12-31 17:30:08 +01:00 |
|
Dietmar Maurer
|
bcd879cfb3
|
backup-client: allow to specify directories (prepare for catar backup)
|
2018-12-27 10:11:11 +01:00 |
|
Dietmar Maurer
|
a198d74fc0
|
cleanup: reduce compiler warnings
|
2018-12-25 13:29:27 +01:00 |
|
Dietmar Maurer
|
2c32fdde86
|
move lookup_datastore() to backup/datastore.rs
|
2018-12-22 17:37:25 +01:00 |
|
Dietmar Maurer
|
64e53b2835
|
gather usage statistics during garbage collection
|
2018-12-22 16:58:16 +01:00 |
|
Dietmar Maurer
|
e95950e40a
|
chunk_store: reduce number of directories
Else, scans everything takes too long ...
|
2018-12-22 14:04:05 +01:00 |
|
Dietmar Maurer
|
03e4753d8e
|
fix mutability for chunk store
|
2018-12-21 12:15:26 +01:00 |
|
Dietmar Maurer
|
d62e6e2264
|
backup-client: use 1M chunks, make chunk_size configurable
|
2018-12-21 08:36:57 +01:00 |
|
Dietmar Maurer
|
277fc5a3ce
|
try to improve error messages
|
2018-12-19 13:40:26 +01:00 |
|
Dietmar Maurer
|
365bb90f17
|
move lock_file to tools.rs
|
2018-12-19 10:02:24 +01:00 |
|
Dietmar Maurer
|
6ea3a0b7fc
|
move sweep_used_chunks to chunk_store
|
2018-12-18 11:18:55 +01:00 |
|
Dietmar Maurer
|
3d5c11e5d2
|
start impl garbage collection
|
2018-12-18 11:06:03 +01:00 |
|
Dietmar Maurer
|
529de6c7a3
|
start implementing DataStore
|
2018-12-17 13:00:39 +01:00 |
|