Kenneth Skovhede and GitHub
b00a0ffbdb
Merge pull request #6550 from duplicati/feature/add-power-mode-provider-selection
...
Add PowerMode provider selection
2025-10-20 08:25:29 +02:00
Kenneth Skovhede
8534c56581
Cleaned up comments
2025-10-18 14:04:35 +02:00
Kenneth Skovhede
cbc327f09d
Fixed not activating new powermode provider if using Windows older than 8.0
2025-10-18 13:59:48 +02:00
Kenneth Skovhede
379f05a568
New attempt, using powerprof callbacks
2025-10-18 13:51:16 +02:00
Kenneth Skovhede
3f4eb39a1c
Re-implemented the powermode detection
2025-10-18 12:36:08 +02:00
Kenneth Skovhede
6ed507c0b3
Add option to limit modules
...
This PR adds the option to limit the available modules to just the set of specified choices.
If no option is set, all modules are available (default).
If the option is set, only those in the list are available (whitelisting).
The options are:
- `--allowed-backend-modules`
- `--allowed-encryption-modules`
- `--allowed-compression-modules`
2025-10-17 10:01:31 +02:00
Kenneth Skovhede and GitHub
8e078b1c8c
Merge pull request #6547 from duplicati/feature/remove-unused-upload-option
...
Folded `--asynchronous-upload-limit` and `--asynchronous-concurrent-upload-limit` options into one single option.
2025-10-16 18:56:23 +02:00
Kenneth Skovhede
8224d84f57
Reverted to use the shorter name --asynchronous-upload-limit and then added an alias for --asynchronous-concurrent-upload-limit.
2025-10-16 13:25:34 +02:00
Kenneth Skovhede
55c19c8752
Removed more references to the unused option
2025-10-16 13:21:40 +02:00
Kenneth Skovhede
3269c87329
Add PowerMode provider selection
...
This PR adds settings to choose a Power Mode provider, which will detect if the system is in a paused/suspended state and avoid starting tasks while being suspended.
This currently only works for Windows, where the previous inplementation is named `NET` (for .NET) and the new mode is named `Native` and using the Windows documented approach with a hidden window that listens for `WM_POWERBROADCAST` messages.
The default is `Native` but can now also be disabled by choosing the `None` provider.
2025-10-15 17:58:24 +02:00
Kenneth Skovhede
67c3039814
Updated example script docs
2025-10-15 12:00:04 +02:00
Kenneth Skovhede
d3b15f136e
Removed unused option
...
The option `asynchronous-upload-limit` was not used, and has been removed.
2025-10-14 21:30:02 +02:00
Kenneth Skovhede
15db2198a9
Add explicit status code check for B2 upload
...
This PR adds an explicit check for the status code for a B2 upload to ensure that non-success status codes are treated as failures.
Prior to this PR an upload would be considered a success if it has a failed status code but returns a valid JSON document with a `contentLength` property.
2025-10-10 18:48:34 +02:00
Kenneth Skovhede
1f41c7af12
Moved to JsonSignature library
...
Code that was previously embedded in th Duplicati.Library.Utility is now in its own library.
2025-10-08 10:11:57 +02:00
Kenneth Skovhede and GitHub
9507b57f1c
Merge pull request #6534 from carljohnsen/performance/restore-lock-reduce
...
Performance/restore lock reduce
2025-10-03 11:46:00 +02:00
Carl Johnsen
91fc698314
The block manager only adds a block to the cache, if it's needed at a later point.
2025-10-03 09:50:08 +02:00
Carl Johnsen
2aa2103f33
Changed BlockManager to only use the cache if the max size is > 0
2025-10-03 09:26:38 +02:00
Carl Johnsen
aafe192766
Added docstring
2025-10-03 09:26:08 +02:00
Carl Johnsen
a1e1afce28
Changed the default volume cache hint to be volumesize * 100
2025-10-03 08:50:35 +02:00
Carl Johnsen
842cc00979
Added profiling stopwatch for DataBlock instantiation in volume decompressor
2025-10-03 08:32:29 +02:00
Carl Johnsen
dff4b52066
Moved instantiation of the block wrapper to the volume decompressor
2025-10-03 08:32:20 +02:00
Carl Johnsen
8f056d5db9
Added profiling stopwatch for volume wrapper in the volume decryptor
2025-10-03 08:25:56 +02:00
Carl Johnsen
cd4e23efc4
Moved instantiation of the volume wrapper to the volume decryptor
2025-10-03 08:25:46 +02:00
Carl Johnsen
2ad6e088ac
Added another profiling stopwatch to blockmanager
2025-10-03 08:21:42 +02:00
Carl Johnsen
0c1643568e
Volume cache now counts the size of the volumes, not just the count of the volumes
2025-10-03 08:11:04 +02:00
Carl Johnsen
48e5a57654
Adapted volume cache eviction to only evict on a download response
2025-10-03 07:51:24 +02:00
Carl Johnsen
42cba24bd9
Removed old decompress in flight code
2025-10-03 07:50:48 +02:00
Carl Johnsen
1f0a4617a6
The reader has to be disposed before disposing the file
2025-10-03 07:50:19 +02:00
Carl Johnsen
34cfd47ceb
Added docstrings
2025-10-03 07:50:03 +02:00
Carl Johnsen
1f44b5e01b
Removed old ack profiling from the block manager
2025-10-03 07:49:06 +02:00
Kenneth Skovhede
9adca8b706
Downgrade mac package
2025-10-02 21:56:31 +02:00
Carl Johnsen
d03259d687
Redacted the ack channel in the restore process network in favor of a referenced counted volume wrapper that'll dispose the reader and tempfile once safe.
2025-10-02 21:40:40 +02:00
Kenneth Skovhede
817390999f
Updated uplink.NET packages to 2.14.3598.
...
This addresses #5793
2025-10-02 21:39:12 +02:00
Carl Johnsen
03db41e392
FileProcessor had an incorrect call to logging
2025-10-02 21:36:07 +02:00
Carl Johnsen
4f2bfe1fa0
Reduced very verbose logging on errors in BlockManager
2025-10-02 21:35:35 +02:00
Carl Johnsen
4951500db4
The BlockManager wouldn't always correctly retire its request channel
2025-10-02 21:34:44 +02:00
Carl Johnsen
91f783f80f
Handled compact being called multiple times due to eventual consistency of the cache count.
2025-10-02 16:53:30 +02:00
Carl Johnsen
12e5383f2f
Instead of exploiting the garbage collector to return the arrays from the pool, we use an internal reference counter for each datablock
2025-10-02 16:21:03 +02:00
Carl Johnsen
b475eeb387
Moved formatting of the explicit log messages to occur later to alleviate having to do that when that log level is disabled, which should decrease wasted processing.
2025-09-30 21:38:04 +02:00
Carl Johnsen
36ce099e6d
Added additional toggle-able debug prints to the restore flow
2025-09-30 21:18:28 +02:00
Carl Johnsen
90a54a177e
Added an internal timer to the VolumeDecryptor
2025-09-30 13:11:16 +02:00
Carl Johnsen
531471e3b5
Reordered the final checks in the SleepableDictionary and lifted some warnings to errors.
2025-09-30 13:06:20 +02:00
Carl Johnsen
6402e1b4a7
Fixed deadlock when the restore-channel-size option was set to 0
2025-09-30 13:00:52 +02:00
Carl Johnsen
2b4928cf46
Automatic formatting
2025-09-30 12:59:47 +02:00
Carl Johnsen
638b725e82
MemoryCache callback wasn't attached to the entries properly
2025-09-30 12:59:34 +02:00
Carl Johnsen
f3f2d93a6e
Renamed internal variable to reflect it's a private variable
2025-09-30 12:59:15 +02:00
Carl Johnsen
3b9f0c04a0
MemoryCache.Count is expensive and is used for diagnostics.
...
Instead we keep our own counter to check for when to compact the cache.
2025-09-30 12:58:39 +02:00
Carl Johnsen
4826b800a5
Instead of keeping track of how many that are actively accessing the arrays, we now have an object wrapping the array.
...
When this object is collected by the garbage collector, the array is returned to the array pool. This moves the responsibility to the garbage collector leading to a more thread-safe approach with less locks, at the cost of potentially using memory for a longer time until the garbage collector picks up the objects.
2025-09-30 12:55:13 +02:00
Carl Johnsen
e90013f41f
Added and handled nullable to all of the restore processes
2025-09-30 12:46:08 +02:00
Kenneth Skovhede
b0bd9c121f
Fixed reading the size of files in restore
...
This significantly speeds up the restore file listing speed.
2025-09-26 13:54:06 +02:00