]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
5 years agobackup/datastore.rs: try to create useful directory layout
Dietmar Maurer [Fri, 18 Jan 2019 11:01:37 +0000 (12:01 +0100)]
backup/datastore.rs: try to create useful directory layout

store/type/ID/TIME/xxx.yyy

5 years agocleanup nodename()
Dietmar Maurer [Fri, 18 Jan 2019 09:13:45 +0000 (10:13 +0100)]
cleanup nodename()

5 years agotools.rs: new helper nodename()
Dietmar Maurer [Fri, 18 Jan 2019 08:58:15 +0000 (09:58 +0100)]
tools.rs: new helper nodename()

5 years agoapi3/admin/datastore.rs: rename parameter "name" to "store"
Dietmar Maurer [Fri, 18 Jan 2019 07:33:11 +0000 (08:33 +0100)]
api3/admin/datastore.rs: rename parameter "name" to "store"

5 years agobin/proxmox-backup-client.rs: implement file name completions - first try ...
Dietmar Maurer [Thu, 17 Jan 2019 13:24:20 +0000 (14:24 +0100)]
bin/proxmox-backup-client.rs: implement file name completions - first try ...

5 years agoapi3/admin/datastore/upload_catar.rs: verify content type ("application/x-proxmox...
Dietmar Maurer [Thu, 17 Jan 2019 11:43:29 +0000 (12:43 +0100)]
api3/admin/datastore/upload_catar.rs: verify content type ("application/x-proxmox-backup-catar")

5 years agoclient/catar_backup_stream.rs: remove debug code
Dietmar Maurer [Thu, 17 Jan 2019 11:16:36 +0000 (12:16 +0100)]
client/catar_backup_stream.rs: remove debug code

5 years agotools.rs: new helper required_string_param()
Dietmar Maurer [Thu, 17 Jan 2019 11:14:02 +0000 (12:14 +0100)]
tools.rs: new helper required_string_param()

To extract parameters from Value.

5 years agoapi/router.rs: return Result in upload handler
Dietmar Maurer [Thu, 17 Jan 2019 11:03:38 +0000 (12:03 +0100)]
api/router.rs: return Result in upload handler

5 years agoproxmox-backup-client: implement upload to server
Dietmar Maurer [Thu, 17 Jan 2019 10:38:22 +0000 (11:38 +0100)]
proxmox-backup-client: implement upload to server

5 years agoclient/http_client.rs: new helper class
Dietmar Maurer [Thu, 17 Jan 2019 10:29:38 +0000 (11:29 +0100)]
client/http_client.rs: new helper class

5 years agoapi3/admin/datastore.rs: change api patch for upload_catar
Dietmar Maurer [Thu, 17 Jan 2019 08:16:50 +0000 (09:16 +0100)]
api3/admin/datastore.rs: change api patch for upload_catar

5 years agoupload: don't return NotReady
Wolfgang Bumiller [Wed, 16 Jan 2019 14:17:25 +0000 (15:17 +0100)]
upload: don't return NotReady

We need to kick (poll) the stream's next element, so simply
reiterate, the try_read!() will then return NotReady from
the next stream item for us.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agocleanup previous commit...
Wolfgang Bumiller [Wed, 16 Jan 2019 13:19:12 +0000 (14:19 +0100)]
cleanup previous commit...

This kind of notation is weird...

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agolisten on :: instead of 0.0.0.0
Wolfgang Bumiller [Wed, 16 Jan 2019 13:17:50 +0000 (14:17 +0100)]
listen on :: instead of 0.0.0.0

Since this supports both ipv6 & ipv4 unless v6only is
explicitly enabled.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoserver/rest.rs: correctly pass query/url parameters
Dietmar Maurer [Wed, 16 Jan 2019 12:58:36 +0000 (13:58 +0100)]
server/rest.rs: correctly pass query/url parameters

5 years agoreduce compiler warnings
Dietmar Maurer [Wed, 16 Jan 2019 09:19:49 +0000 (10:19 +0100)]
reduce compiler warnings

5 years agoclient/catar_backup_stream.rs: new helper for catar uploads to server
Dietmar Maurer [Wed, 16 Jan 2019 09:15:39 +0000 (10:15 +0100)]
client/catar_backup_stream.rs: new helper for catar uploads to server

5 years agobackup/datastore.rs: use Arc for chunk_store references
Dietmar Maurer [Tue, 15 Jan 2019 11:36:16 +0000 (12:36 +0100)]
backup/datastore.rs: use Arc for chunk_store references

5 years agoapi3/admin/datastore/upload_catar.rs: implement upload future
Dietmar Maurer [Tue, 15 Jan 2019 10:38:26 +0000 (11:38 +0100)]
api3/admin/datastore/upload_catar.rs: implement upload future

5 years agoapi/router.rs: allow different types of api methods
Dietmar Maurer [Mon, 14 Jan 2019 11:26:04 +0000 (12:26 +0100)]
api/router.rs: allow different types of api methods

Added a prototype for file/backup uploads.

5 years agocatar: define all feature flags
Dietmar Maurer [Sat, 12 Jan 2019 15:49:02 +0000 (16:49 +0100)]
catar: define all feature flags

5 years agocatar/encoder.rs: allow to pass list of devices
Dietmar Maurer [Sat, 12 Jan 2019 14:43:20 +0000 (15:43 +0100)]
catar/encoder.rs: allow to pass list of devices

We can use this to implement the --one-file-system like options. This
is a bit more convenient, because this way we can select to include
multiple devices (which is required by container backups).

5 years agocatar/encoder.rs: disable backup of virtual file systems
Dietmar Maurer [Sat, 12 Jan 2019 10:56:53 +0000 (11:56 +0100)]
catar/encoder.rs: disable backup of virtual file systems

5 years agocatar/encoder.rs: only test fat attribute on MSDOS and FUSE file systems
Dietmar Maurer [Sat, 12 Jan 2019 09:28:26 +0000 (10:28 +0100)]
catar/encoder.rs: only test fat attribute on MSDOS and FUSE file systems

5 years ago/catar/encoder.rs: do not store data from virtual file systems
Dietmar Maurer [Sat, 12 Jan 2019 09:20:08 +0000 (10:20 +0100)]
/catar/encoder.rs: do not store data from virtual file systems

5 years agocatar/encoder.rs: add helpers to test file system type
Dietmar Maurer [Sat, 12 Jan 2019 08:18:21 +0000 (09:18 +0100)]
catar/encoder.rs: add helpers to test file system type

5 years agocatar/encoder.rs: pass magic fs number to encode_dir
Dietmar Maurer [Sat, 12 Jan 2019 07:51:04 +0000 (08:51 +0100)]
catar/encoder.rs: pass magic fs number to encode_dir

5 years agocatar/encoder.rs: use O_DIRECTORY to open dirs
Dietmar Maurer [Fri, 11 Jan 2019 15:53:17 +0000 (16:53 +0100)]
catar/encoder.rs: use O_DIRECTORY to open dirs

5 years agocatar: encode/decode sockets and fifos
Dietmar Maurer [Fri, 11 Jan 2019 12:26:05 +0000 (13:26 +0100)]
catar: encode/decode sockets and fifos

5 years agocatar/decoder.rs: corrently pass mode to mknodat
Dietmar Maurer [Fri, 11 Jan 2019 12:12:55 +0000 (13:12 +0100)]
catar/decoder.rs: corrently pass mode to mknodat

5 years agocatar: encode/decode devices
Dietmar Maurer [Fri, 11 Jan 2019 11:22:00 +0000 (12:22 +0100)]
catar: encode/decode devices

5 years agocatar/format_definition.rs: add more feature flags
Dietmar Maurer [Fri, 11 Jan 2019 09:44:57 +0000 (10:44 +0100)]
catar/format_definition.rs: add more feature flags

5 years agocatar/encoder.rs: store fat file system attributes
Dietmar Maurer [Fri, 11 Jan 2019 09:18:22 +0000 (10:18 +0100)]
catar/encoder.rs: store fat file system attributes

5 years agocatar/encoder.rs: cleanups
Dietmar Maurer [Fri, 11 Jan 2019 09:01:51 +0000 (10:01 +0100)]
catar/encoder.rs: cleanups

5 years agocatar/encoder.rs: encode linux fs attributes, cleanup encoder
Dietmar Maurer [Fri, 11 Jan 2019 08:20:10 +0000 (09:20 +0100)]
catar/encoder.rs: encode linux fs attributes, cleanup encoder

Try to avoid duplicate stat calls (assume file tree is stable during backup).

5 years agoavoid compiler warnings
Dietmar Maurer [Fri, 11 Jan 2019 07:41:33 +0000 (08:41 +0100)]
avoid compiler warnings

5 years agobackup/archive_index.rs: correctly check for errors
Dietmar Maurer [Thu, 10 Jan 2019 10:19:54 +0000 (11:19 +0100)]
backup/archive_index.rs: correctly check for errors

5 years agocatar/decoder.rs: restore mode, uid, gid and mtime
Dietmar Maurer [Wed, 9 Jan 2019 13:44:00 +0000 (14:44 +0100)]
catar/decoder.rs: restore mode, uid, gid and mtime

5 years agocatar/decoder.rs: avoid slashes in file names
Dietmar Maurer [Wed, 9 Jan 2019 11:17:23 +0000 (12:17 +0100)]
catar/decoder.rs: avoid slashes in file names

5 years agocatar/decoder.rs: impl restore dirs, files, and symlinks
Dietmar Maurer [Tue, 8 Jan 2019 16:17:55 +0000 (17:17 +0100)]
catar/decoder.rs: impl restore dirs, files, and symlinks

5 years agorest: rename utf-8-checked 'bytes' to 'utf8'
Wolfgang Bumiller [Tue, 8 Jan 2019 13:22:43 +0000 (14:22 +0100)]
rest: rename utf-8-checked 'bytes' to 'utf8'

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agorest: don't copy the body
Wolfgang Bumiller [Tue, 8 Jan 2019 13:21:54 +0000 (14:21 +0100)]
rest: don't copy the body

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agotools/timer: fixup doc formatting
Wolfgang Bumiller [Tue, 8 Jan 2019 13:11:08 +0000 (14:11 +0100)]
tools/timer: fixup doc formatting

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoCargo.toml: [lib] has no authors/version
Wolfgang Bumiller [Tue, 8 Jan 2019 11:47:35 +0000 (12:47 +0100)]
Cargo.toml: [lib] has no authors/version

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agocatar/decoder.rs: restore_sequential - read payload
Dietmar Maurer [Tue, 8 Jan 2019 08:26:07 +0000 (09:26 +0100)]
catar/decoder.rs: restore_sequential - read payload

5 years agocatar/decoder.rs: improve restore_sequential
Dietmar Maurer [Mon, 7 Jan 2019 18:18:59 +0000 (19:18 +0100)]
catar/decoder.rs: improve restore_sequential

5 years agocatar/decoder.rs: start implementing sequential decoder, cleanups
Dietmar Maurer [Mon, 7 Jan 2019 18:07:03 +0000 (19:07 +0100)]
catar/decoder.rs: start implementing sequential decoder, cleanups

And use [derive(Endian)] for endian conversion.

5 years agodepend on endian_trait
Dietmar Maurer [Mon, 7 Jan 2019 13:59:33 +0000 (14:59 +0100)]
depend on endian_trait

5 years agocatar: implement create
Dietmar Maurer [Mon, 7 Jan 2019 12:25:41 +0000 (13:25 +0100)]
catar: implement create

5 years agobin/catar.rs: add list command
Dietmar Maurer [Sun, 6 Jan 2019 16:42:23 +0000 (17:42 +0100)]
bin/catar.rs: add list command

5 years agocatar/decoder.rs: start implementation
Dietmar Maurer [Sun, 6 Jan 2019 16:27:57 +0000 (17:27 +0100)]
catar/decoder.rs: start implementation

5 years agoformat_definition.rs: remove wrong docs
Dietmar Maurer [Sun, 6 Jan 2019 16:27:22 +0000 (17:27 +0100)]
format_definition.rs: remove wrong docs

5 years agoimpl Read for BufferedArchiveReader
Dietmar Maurer [Sun, 6 Jan 2019 09:04:45 +0000 (10:04 +0100)]
impl Read for BufferedArchiveReader

5 years agoimpl Seek for BufferedArchiveReader
Dietmar Maurer [Sun, 6 Jan 2019 08:35:39 +0000 (09:35 +0100)]
impl Seek for BufferedArchiveReader

5 years agobuffered_read: return empty buffer on eof
Dietmar Maurer [Sun, 6 Jan 2019 08:17:28 +0000 (09:17 +0100)]
buffered_read: return empty buffer on eof

5 years agodefine and use BufferedReader trait
Dietmar Maurer [Sat, 5 Jan 2019 16:28:20 +0000 (17:28 +0100)]
define and use BufferedReader trait

5 years agoremove dead code
Dietmar Maurer [Sat, 5 Jan 2019 15:55:21 +0000 (16:55 +0100)]
remove dead code

5 years agotools.rs: improve docs
Dietmar Maurer [Sat, 5 Jan 2019 15:53:28 +0000 (16:53 +0100)]
tools.rs: improve docs

5 years agobackup/archive_index.rs: implement BufferedArchiveReader
Dietmar Maurer [Sat, 5 Jan 2019 13:47:56 +0000 (14:47 +0100)]
backup/archive_index.rs: implement BufferedArchiveReader

Implement relativly fast random read using binary search.

5 years agobackup/chunk_store.rs: resize buffer by powers of two
Dietmar Maurer [Sat, 5 Jan 2019 10:34:15 +0000 (11:34 +0100)]
backup/chunk_store.rs: resize buffer by powers of two

5 years agocatar/encoder.rs: code cleanup
Dietmar Maurer [Fri, 4 Jan 2019 16:23:01 +0000 (17:23 +0100)]
catar/encoder.rs: code cleanup

Note: Rust Vec resize uses len(), not capacity()!

5 years agobackup/chunk_store.rs: avoid allocation in read_chunk
Dietmar Maurer [Fri, 4 Jan 2019 16:16:56 +0000 (17:16 +0100)]
backup/chunk_store.rs: avoid allocation in read_chunk

5 years agowhite space cleanups
Dietmar Maurer [Fri, 4 Jan 2019 11:51:43 +0000 (12:51 +0100)]
white space cleanups

5 years agobackup/chunk_store.rs: implement read_chunk()
Dietmar Maurer [Fri, 4 Jan 2019 11:50:54 +0000 (12:50 +0100)]
backup/chunk_store.rs: implement read_chunk()

5 years agoproxmox-backup-manager: add garbage collection cli
Dietmar Maurer [Fri, 4 Jan 2019 10:33:58 +0000 (11:33 +0100)]
proxmox-backup-manager: add garbage collection cli

5 years agofix bash completion binary names
Dietmar Maurer [Fri, 4 Jan 2019 10:12:46 +0000 (11:12 +0100)]
fix bash completion binary names

5 years agocleanup crate names
Dietmar Maurer [Fri, 4 Jan 2019 09:49:52 +0000 (10:49 +0100)]
cleanup crate names

5 years agorename backup-client to proxmox-backup-client
Dietmar Maurer [Fri, 4 Jan 2019 09:41:37 +0000 (10:41 +0100)]
rename backup-client to proxmox-backup-client

5 years agorename pbs to proxmox-backup-manager
Dietmar Maurer [Fri, 4 Jan 2019 09:39:32 +0000 (10:39 +0100)]
rename pbs to proxmox-backup-manager

5 years agobackup/chunk_store.rs: only use one directory level
Dietmar Maurer [Fri, 4 Jan 2019 09:35:22 +0000 (10:35 +0100)]
backup/chunk_store.rs: only use one directory level

5 years agomove admin API to /admin/ subfolder
Dietmar Maurer [Fri, 4 Jan 2019 09:32:27 +0000 (10:32 +0100)]
move admin API to /admin/ subfolder

5 years agobackup/archive_index.rs: pass correct size to unmap
Dietmar Maurer [Fri, 4 Jan 2019 08:28:41 +0000 (09:28 +0100)]
backup/archive_index.rs: pass correct size to unmap

5 years agobackup/image_index.rs: use little endian
Dietmar Maurer [Fri, 4 Jan 2019 07:45:04 +0000 (08:45 +0100)]
backup/image_index.rs: use little endian

5 years agocli::command: wrap usage errors in a UsageError
Wolfgang Bumiller [Thu, 3 Jan 2019 13:36:31 +0000 (14:36 +0100)]
cli::command: wrap usage errors in a UsageError

So we can distinguish them and show usage output
conditionally.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agocatar/encoder.rs: make sure we write all data with write_all()
Dietmar Maurer [Thu, 3 Jan 2019 14:47:32 +0000 (15:47 +0100)]
catar/encoder.rs: make sure we write all data with write_all()

5 years agochunker.rs: make sure chunk_size_avg is a power of two
Dietmar Maurer [Thu, 3 Jan 2019 14:10:54 +0000 (15:10 +0100)]
chunker.rs: make sure chunk_size_avg is a power of two

5 years agoimprove chunker speed (avoid modulo)
Dietmar Maurer [Thu, 3 Jan 2019 13:35:19 +0000 (14:35 +0100)]
improve chunker speed (avoid modulo)

5 years agoadd benchmark for chunker
Dietmar Maurer [Wed, 2 Jan 2019 18:16:55 +0000 (19:16 +0100)]
add benchmark for chunker

We get about 300MB/s - so this is still not fast enough

Note: This is quite slow with debug target, so please compile with --release

5 years agoimage_index.rs: verify file size
Dietmar Maurer [Wed, 2 Jan 2019 17:14:02 +0000 (18:14 +0100)]
image_index.rs: verify file size

5 years agoimplement garbage collection for .aidx files
Dietmar Maurer [Wed, 2 Jan 2019 13:27:04 +0000 (14:27 +0100)]
implement garbage collection for .aidx files

5 years agoimage_index.rs: verify header magic/version
Dietmar Maurer [Wed, 2 Jan 2019 12:13:13 +0000 (13:13 +0100)]
image_index.rs: verify header magic/version

5 years agofix typo
Dietmar Maurer [Wed, 2 Jan 2019 11:56:04 +0000 (12:56 +0100)]
fix typo

5 years agodisable debug code
Dietmar Maurer [Wed, 2 Jan 2019 11:55:18 +0000 (12:55 +0100)]
disable debug code

5 years agoarchive_index.rs: correctly write .aidx file
Dietmar Maurer [Wed, 2 Jan 2019 11:54:40 +0000 (12:54 +0100)]
archive_index.rs: correctly write .aidx file

5 years agoimage_index.rs: print stats
Dietmar Maurer [Wed, 2 Jan 2019 11:53:49 +0000 (12:53 +0100)]
image_index.rs: print stats

5 years agosrc/backup/archive_index.rs: use close() instead of flush()
Dietmar Maurer [Wed, 2 Jan 2019 10:02:56 +0000 (11:02 +0100)]
src/backup/archive_index.rs: use close() instead of flush()

Also pass a reference to the encoder.

5 years agosrc/backup/archive_index.rs: implement flush()
Dietmar Maurer [Mon, 31 Dec 2018 17:01:07 +0000 (18:01 +0100)]
src/backup/archive_index.rs: implement flush()

5 years agosrc/backup/archive_index.rs: first try
Dietmar Maurer [Mon, 31 Dec 2018 16:30:08 +0000 (17:30 +0100)]
src/backup/archive_index.rs: first try

5 years agocreate backup mod in backup.rs, improve docu
Dietmar Maurer [Mon, 31 Dec 2018 15:08:04 +0000 (16:08 +0100)]
create backup mod in backup.rs, improve docu

5 years agomove chunker.rs to backup/
Dietmar Maurer [Mon, 31 Dec 2018 14:46:16 +0000 (15:46 +0100)]
move chunker.rs to backup/

5 years agorc/catar/chunker.rs: first try
Dietmar Maurer [Mon, 31 Dec 2018 12:01:06 +0000 (13:01 +0100)]
rc/catar/chunker.rs: first try

5 years agoavoid compiler warnings
Dietmar Maurer [Mon, 31 Dec 2018 09:54:25 +0000 (10:54 +0100)]
avoid compiler warnings

5 years agoadd another catart test
Dietmar Maurer [Mon, 31 Dec 2018 09:22:39 +0000 (10:22 +0100)]
add another catart test

5 years agoadd catart test for goodbye table ordering
Dietmar Maurer [Mon, 31 Dec 2018 09:19:15 +0000 (10:19 +0100)]
add catart test for goodbye table ordering

5 years agosrc/catar/encoder.rs: correctly sort goodbye items by hash key
Dietmar Maurer [Mon, 31 Dec 2018 09:11:28 +0000 (10:11 +0100)]
src/catar/encoder.rs: correctly sort goodbye items by hash key

5 years agonew catar binary
Dietmar Maurer [Sun, 30 Dec 2018 17:01:20 +0000 (18:01 +0100)]
new catar binary

currently used for debugging

5 years agofix doc syntax
Dietmar Maurer [Sun, 30 Dec 2018 16:43:53 +0000 (17:43 +0100)]
fix doc syntax

5 years agocatar cleanups ...
Dietmar Maurer [Sun, 30 Dec 2018 16:32:52 +0000 (17:32 +0100)]
catar cleanups ...

5 years agobinary_search_tree.rs: fix docs
Dietmar Maurer [Sun, 30 Dec 2018 14:34:43 +0000 (15:34 +0100)]
binary_search_tree.rs: fix docs