]> git.proxmox.com Git - proxmox-backup.git/commit
tape/pool_writer: skip already backed up chunks in iterator
authorDominik Csapak <d.csapak@proxmox.com>
Thu, 17 Feb 2022 13:50:40 +0000 (14:50 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 18 Feb 2022 09:40:41 +0000 (10:40 +0100)
commitdcd9c17ffff50df4552ae4a789590aa95787f956
tree4987e76fa9d722eda94a02f3f37351f93110cd01
parentf30757df50737d39593aa969b31cab5c5a48efab
tape/pool_writer: skip already backed up chunks in iterator

currently, the iterator goes over *all* chunks of the index, even
those already backed up by a previous snapshots in the same tape
backup. this is bad since for each iterator, we stat each chunk to
sort by inode number. so to avoid stat'ing the same chunks over
and over for consecutive snapshots, add a 'skip_fn' to the iterator
and in the pool writer and check the catalog_set if we can skip it

this means we can drop the later check for the catalog_set
(since we don't modify that here)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
pbs-datastore/src/snapshot_reader.rs
src/tape/pool_writer/new_chunks_iterator.rs