Dietmar Maurer
|
bf78f70885
|
improve code docs in api2
Note: API methos should be declared pub, so that they show up in the generated docu.
|
2021-01-22 15:57:42 +01:00 |
|
Dietmar Maurer
|
5f34d69bcc
|
tape: add volume-statistics api/command
|
2021-01-22 08:45:35 +01:00 |
|
Dietmar Maurer
|
8e6459a818
|
tape: set encryption key on restore
|
2021-01-22 07:26:42 +01:00 |
|
Dietmar Maurer
|
645a044bf6
|
tape: further hierarchy improvements
|
2021-01-21 17:25:32 +01:00 |
|
Dietmar Maurer
|
37796ff73f
|
tape: change code hierarchy to improve docs
|
2021-01-21 17:12:01 +01:00 |
|
Dietmar Maurer
|
d543587d34
|
Merge branch 'master' of ssh://proxdev.maurer-it.com/rust/proxmox-backup
|
2021-01-21 10:56:52 +01:00 |
|
Dietmar Maurer
|
780bc4cad2
|
tape: try to set encryption key with read-label command
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
18bd6ba13d
|
tape: restore_key - always update key, even if there is already an entry
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
8428063d9e
|
cleanup: KeyConfig::decrypt - show password hint on error
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
f490dda05a
|
tape: use type Uuid instead of String
|
2021-01-21 10:31:49 +01:00 |
|
Dietmar Maurer
|
2b191385ea
|
tape: use specialized encryption key per media-set
|
2021-01-21 10:31:49 +01:00 |
|
Fabian Grünbichler
|
d967d8f1a7
|
clippy: remove drop(&..)
it does nothing.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
2021-01-20 16:41:02 +01:00 |
|
Fabian Grünbichler
|
0d2133db98
|
clippy: use while let loops
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
2021-01-20 16:23:54 +01:00 |
|
Fabian Grünbichler
|
6334bdc1c5
|
clippy: collapse nested ifs
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
2021-01-20 16:23:54 +01:00 |
|
Fabian Grünbichler
|
3b82f3eea5
|
clippy: avoid useless format!
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
2021-01-20 16:23:54 +01:00 |
|
Fabian Grünbichler
|
38556bf60d
|
clippy: remove explicit returns
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
2021-01-20 16:23:54 +01:00 |
|
Fabian Grünbichler
|
3984a5fd77
|
clippy: is_some/none/ok/err/empty
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
2021-01-20 16:23:54 +01:00 |
|
Fabian Grünbichler
|
397356096a
|
clippy: remove needless bool literals
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
2021-01-20 16:23:52 +01:00 |
|
Fabian Grünbichler
|
4428818412
|
clippy: remove unnecessary clones
and from::<T>(T)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
2021-01-20 16:22:59 +01:00 |
|
Dietmar Maurer
|
9a045790ed
|
cleanup KeyConfig
|
2021-01-20 15:43:19 +01:00 |
|
Dietmar Maurer
|
82a103c8f9
|
add "password hint" to KeyConfig
|
2021-01-20 15:43:19 +01:00 |
|
Dietmar Maurer
|
feb1645f37
|
tape: generate random encryptions keys and store key_config on media
|
2021-01-19 11:20:07 +01:00 |
|
Dietmar Maurer
|
8a0046f519
|
tape: implement encrypted backup - simple version
This is just a proof of concept, only storing the encryption key fingerprint
inside the media-set label.
|
2021-01-18 13:38:22 +01:00 |
|
Dietmar Maurer
|
d5a48b5ce4
|
tape: add hardware encryption key managenent api
|
2021-01-18 13:38:22 +01:00 |
|
Dietmar Maurer
|
781da7f6f0
|
tape: add --inventorize flag to read-label API/CLI
|
2021-01-14 11:51:23 +01:00 |
|
Dietmar Maurer
|
8446fbca85
|
tape: rename changer_id to label_text
|
2021-01-13 13:26:59 +01:00 |
|
Dietmar Maurer
|
6543214dde
|
tape: MediaListEntry - add ctime
|
2021-01-12 12:01:21 +01:00 |
|
Dietmar Maurer
|
5654d8ceba
|
tape: make eject/export more reliable, improve logging
|
2021-01-12 09:16:16 +01:00 |
|
Dietmar Maurer
|
31cf625af5
|
tape: improve backup logs
|
2021-01-11 13:23:12 +01:00 |
|
Dietmar Maurer
|
6638c034d2
|
tape: remove unused eject_on_unload method
|
2021-01-10 16:20:18 +01:00 |
|
Dietmar Maurer
|
483da89d03
|
tape: improve export media to directly export from drive, add CLI
|
2021-01-10 13:44:44 +01:00 |
|
Dietmar Maurer
|
edb90f6afa
|
tape: backup - implement export-media-set option
|
2021-01-10 11:59:55 +01:00 |
|
Dietmar Maurer
|
6fe16039b9
|
tape: simplify media changer implementation - new struct MtxMediaChanger
|
2021-01-10 10:02:01 +01:00 |
|
Dietmar Maurer
|
42967bf185
|
tape: backup - implement --eject-media option
|
2021-01-09 15:17:03 +01:00 |
|
Dietmar Maurer
|
0bf1c314da
|
tape: show catalog status in media list
|
2021-01-09 10:24:48 +01:00 |
|
Dietmar Maurer
|
df69a4fc59
|
tape: implement drive clean
|
2021-01-08 11:32:56 +01:00 |
|
Dietmar Maurer
|
46a1863f88
|
tape: improve MediaChange trait
We expose the whole MtxStatus, and we can load/store from/to
specified slot numbers.
|
2021-01-07 14:26:43 +01:00 |
|
Dietmar Maurer
|
d5035c5600
|
tape: mtx_status - consider new export-slots property
|
2021-01-06 11:53:33 +01:00 |
|
Dietmar Maurer
|
cfae8f0656
|
tape: merge MediaStateDatabase into Inventory
|
2021-01-01 16:15:13 +01:00 |
|
Dietmar Maurer
|
54f4ecd46a
|
tape: implement MediaPool flag to consider offline media
For standalone tape drives.
|
2021-01-01 10:03:59 +01:00 |
|
Dietmar Maurer
|
b9b4b31284
|
tape: add basic restore api/command
|
2020-12-31 10:26:48 +01:00 |
|
Dietmar Maurer
|
cb022525ff
|
tape: only log to stdout in CLI environment
|
2020-12-30 19:01:39 +01:00 |
|
Dietmar Maurer
|
284eb5daff
|
tape: cleanup/simplify media_change code
|
2020-12-30 17:16:57 +01:00 |
|
Dietmar Maurer
|
ff58c51919
|
tape: improve media request/load
|
2020-12-30 13:09:28 +01:00 |
|
Dietmar Maurer
|
b017bbc441
|
tape: add restore code, implement catalog api/command
|
2020-12-30 09:48:18 +01:00 |
|
Dietmar Maurer
|
250c29edd2
|
tape: correctly sort media api entries
|
2020-12-29 12:09:51 +01:00 |
|
Dietmar Maurer
|
a33389c391
|
tape: implement media content list api
|
2020-12-29 11:58:26 +01:00 |
|
Dietmar Maurer
|
3460565414
|
tape: create the MediaCatalog when we label a tape
|
2020-12-29 10:55:20 +01:00 |
|
Dietmar Maurer
|
0993923ed5
|
tape: factor out get_drive_and_media_status
|
2020-12-29 08:39:06 +01:00 |
|
Dietmar Maurer
|
e0362b0d0f
|
tape: correctly parse mtx import/export slots
|
2020-12-28 13:32:56 +01:00 |
|
Dietmar Maurer
|
5ae86dfaa1
|
tape: return media usage info with status command
|
2020-12-23 11:24:34 +01:00 |
|
Dietmar Maurer
|
dbe7e556b0
|
tape: implement binding for libsgutils2
So that we can read cartridge memory without calling "sg_raw". In future,
we may need further low level command to control the tape..
|
2020-12-23 09:44:53 +01:00 |
|
Dietmar Maurer
|
cb80d900b3
|
tape: add drive status api
|
2020-12-22 10:42:22 +01:00 |
|
Dietmar Maurer
|
ee01737e87
|
tape: rename 'mam' api to 'cartridge-memory'
|
2020-12-22 09:27:34 +01:00 |
|
Dietmar Maurer
|
1e20f819d5
|
tape: add command to read cartridge memory (MAM)
Thsi add an additional dependency to sg3-utils (small).
|
2020-12-21 12:12:33 +01:00 |
|
Dietmar Maurer
|
8835664653
|
tape: add tape backup api
|
2020-12-18 15:32:12 +01:00 |
|
Dietmar Maurer
|
2afdc7f27d
|
tape: MediaPool::with_config() - remove name parameter
Not required, because config already contains the pool name.
|
2020-12-18 08:14:24 +01:00 |
|
Dietmar Maurer
|
fe6c19383b
|
tape: remove MediaLabelInfo, use MediaId instead
The additional content_uuid was quite useless...
|
2020-12-16 13:31:32 +01:00 |
|
Dietmar Maurer
|
c1c2c8f635
|
tape: cleanup MediaLocation type for direct use with API
|
2020-12-16 10:49:01 +01:00 |
|
Dietmar Maurer
|
a78348acbb
|
tape: rename DriveLabel to MediaLabel
|
2020-12-14 17:37:16 +01:00 |
|
Dietmar Maurer
|
fb657d8ee5
|
tape: implement destroy_media
|
2020-12-14 08:58:40 +01:00 |
|
Dietmar Maurer
|
fba0b77469
|
tape: add media api
|
2020-12-14 07:55:57 +01:00 |
|
Dietmar Maurer
|
7e1d4712b8
|
tape: rename CHANGER_ID_SCHEMA to CHANGER_NAME_SCHEMA
|
2020-12-13 09:22:08 +01:00 |
|
Dietmar Maurer
|
49c965a497
|
tape: rename DRIVE_ID_SCHEMA to DRIVE_NAME_SCHEMA
|
2020-12-13 09:18:16 +01:00 |
|
Dietmar Maurer
|
42cb9bd6a5
|
tape: avoid executor blocking in changer api
|
2020-12-12 09:45:08 +01:00 |
|
Dietmar Maurer
|
66dbe5639e
|
tape: avoid executor blocking in drive API
By using tokio::task::spawn_blocking().
|
2020-12-12 09:20:04 +01:00 |
|
Dietmar Maurer
|
663ef85992
|
tape: use WorkerTask for erase and rewind
|
2020-12-11 11:19:33 +01:00 |
|
Dietmar Maurer
|
e92c75815b
|
tape: split inventory api
inventory: sync, list labels with uuids,
update_inventory: WorkerTask, updates database
|
2020-12-11 10:42:29 +01:00 |
|
Dietmar Maurer
|
6dbad5b4b5
|
tape: run label commands as WorkerTask (threads)
|
2020-12-11 09:10:22 +01:00 |
|
Dietmar Maurer
|
bff7e3f3e4
|
tape: implement barcode-label-mdedia
|
2020-12-11 07:50:19 +01:00 |
|
Dietmar Maurer
|
83abc7497d
|
tape: implement inventory command
|
2020-12-11 07:39:28 +01:00 |
|
Dietmar Maurer
|
4606f34353
|
tape: implement read-label command
|
2020-12-10 13:20:39 +01:00 |
|
Dietmar Maurer
|
7bb720cb4d
|
tape: implement label command
|
2020-12-10 12:30:27 +01:00 |
|
Dietmar Maurer
|
55118ca18e
|
tape: correctly sort drive api subdir
|
2020-12-10 10:09:12 +01:00 |
|
Dietmar Maurer
|
f70d8091d3
|
tape: implement option changer-drive-id
|
2020-12-10 09:09:06 +01:00 |
|
Dietmar Maurer
|
a3c709ef21
|
tape: cli cleanup - avoid api redefinition
|
2020-12-10 08:35:11 +01:00 |
|
Dietmar Maurer
|
93829fc680
|
tape: cleanup load-slot api
|
2020-12-10 08:04:55 +01:00 |
|
Dietmar Maurer
|
e49f0c03d9
|
tape: implement load-media command
|
2020-12-10 07:52:56 +01:00 |
|
Dietmar Maurer
|
0098b712a5
|
tape: implement eject
|
2020-12-09 17:50:48 +01:00 |
|
Dietmar Maurer
|
5fb694e8c0
|
tape: implement rewind
|
2020-12-09 17:43:38 +01:00 |
|
Dietmar Maurer
|
583a68a446
|
tape: implement erase media
|
2020-12-09 17:35:31 +01:00 |
|
Dietmar Maurer
|
cafd51bf42
|
tape: add media state database
|
2020-12-09 11:21:56 +01:00 |
|
Dietmar Maurer
|
5d90860688
|
tape: expose basic tape/changer functionality at api2/tape/
|
2020-12-08 15:42:50 +01:00 |
|