proxmox-backup/src/api2
Thomas Lamprecht 79f6a79cfc assume correct backup, avoid verifying chunk existance
This can slow things down by a lot on setups with (relatively) high
seek time, in the order of doubling the backup times if cache isn't
populated with the last backups chunk inode info.

Effectively there's nothing known this protects us from in the
codebase. The only thing which was theorized about was the case
where a really long running backup job (over 24 hours) is still
running and writing new chunks, not indexed yet anywhere, then an
update (or manual action) triggers a reload of the proxy. There was
some theory that then a GC in the new daemon would not know about the
oldest writer in the old one, and thus use a less strict atime limit
for chunk sweeping - opening up a window for deleting chunks from the
long running backup.
But, this simply cannot happen as we have a per datastore process
wide flock, which is acquired shared by backup jobs and exclusive by
GC. In the same process GC and backup can both get it, as it has a
process locking granularity. If there's an old daemon with a writer,
that also has the lock open shared, and so no GC in the new process
can get exclusive access to it.

So, with that confirmed we have no need for a "half-assed"
verification in the backup finish step. Rather, we plan to add an
opt-in "full verify each backup on finish" option (see #2988)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-01 12:06:59 +02:00
..
access depend on proxmox 0.4.2 2020-09-28 10:50:44 +02:00
admin avoid chrono dependency, depend on proxmox 0.3.8 2020-09-15 07:12:57 +02:00
backup assume correct backup, avoid verifying chunk existance 2020-10-01 12:06:59 +02:00
config client/remote: add support to specify port number 2020-09-30 10:49:20 +02:00
node tasks: improve behaviour on upgrade 2020-09-30 11:05:50 +02:00
reader introduce Username, Realm and Userid api types 2020-08-10 12:05:01 +02:00
types api2/types: fix DNS_NAME Regexes 2020-10-01 06:09:34 +02:00
access.rs replace and remove old ticket functions 2020-08-12 14:28:21 +02:00
admin.rs api2: add admin/sync endpoint 2020-05-29 11:31:32 +02:00
backup.rs src/api2/backup.rs: use block_in_place for remove_backup 2020-10-01 11:11:14 +02:00
config.rs rename 'job' to 'sync' 2020-05-21 10:29:25 +02:00
helpers.rs bump proxmox to 0.3, cleanup http_err macro usage 2020-07-29 09:38:36 +02:00
node.rs replace and remove old ticket functions 2020-08-12 14:28:21 +02:00
pull.rs fix ipv6 handling for remotes/sync jobs 2020-09-30 13:40:03 +02:00
reader.rs src/api2/reader.rs: fix speedtest description 2020-10-01 11:16:15 +02:00
status.rs api2/status: use the TaskListInfoIterator here 2020-09-29 08:40:24 +02:00
version.rs switch from failure to anyhow 2020-04-17 18:43:30 +02:00