diff --git a/Duplicati/Library/Main/Operation/Restore/FileProcessor.cs b/Duplicati/Library/Main/Operation/Restore/FileProcessor.cs index 960337dfc..7027923aa 100644 --- a/Duplicati/Library/Main/Operation/Restore/FileProcessor.cs +++ b/Duplicati/Library/Main/Operation/Restore/FileProcessor.cs @@ -52,6 +52,7 @@ namespace Duplicati.Library.Main.Operation.Restore /// /// Runs the file processor process that restores the files that need to be restored. /// + /// The named channels for the restore operation. /// The restore database, which is queried for blocks, corresponding volumes and metadata for the files. /// The channel to request blocks from the block manager. /// The channel to receive blocks from the block manager. @@ -99,7 +100,7 @@ namespace Duplicati.Library.Main.Operation.Restore // Get information about the blocks for the file // TODO rather than keeping all of the blocks in memory, we could do a single pass over the blocks using a cursor, only keeping the relevant block requests in memory. Maybe even only a single block request at a time. sw_block?.Start(); - var blocks = db.GetBlocksFromFile(file.BlocksetID).ToArray();//.Select(x => new BlockRequest(x.BlockID, x.BlockOffset, x.BlockHash, x.BlockSize, x.VolumeID, false)).ToArray(); + var blocks = db.GetBlocksFromFile(file.BlocksetID).ToArray(); sw_block?.Stop(); sw_work_verify_target?.Start(); @@ -495,7 +496,7 @@ namespace Duplicati.Library.Main.Operation.Restore private static async Task RestoreMetadata(LocalRestoreDatabase db, FileRequest file, IChannel block_request, IChannel block_response, Options options, Stopwatch sw_meta, Stopwatch sw_work, Stopwatch sw_req, Stopwatch sw_resp) { sw_meta?.Start(); - var blocks = db.GetMetadataBlocksFromFile(file.ID);//.Select(x => new BlockRequest(x.BlockID, x.BlockOffset, x.BlockHash, x.BlockSize, x.VolumeID, false)).ToArray(); + var blocks = db.GetMetadataBlocksFromFile(file.ID); sw_meta?.Stop(); using var ms = new MemoryStream(); @@ -534,6 +535,7 @@ namespace Duplicati.Library.Main.Operation.Restore /// The metadata about the blocks that make up the file. /// A hasher for the file. /// A hasher for a data block. + /// A buffer to read and write data blocks. /// The Duplicati configuration options. /// The restoration results. /// An awaitable `Task`, which returns a collection of data blocks that are missing. @@ -634,6 +636,7 @@ namespace Duplicati.Library.Main.Operation.Restore /// The total number of blocks for the file. /// A hasher for the file. /// A hasher for the data block. + /// A buffer to read and write data blocks. /// The Duplicati configuration options. /// The restoration results. /// The channel to request blocks from the block manager. Used to inform the block manager which blocks are already present.