Commit Graph
171 Commits
Author SHA1 Message Date
Kenneth Skovhede 71c4bb4d3d Merge branch 'master' into experiment/quickfix_concurrent
# Conflicts:
#	Duplicati/Library/Main/BackendManager.cs
#	Duplicati/Library/Main/Database/ExtensionMethods.cs
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Operation/TestFilterHandler.cs
#	Duplicati/Library/Main/Options.cs

Manually ported the `IsSynlink` changes as well as the DNS refresh code
2018-03-02 09:06:13 +01:00
Kenneth Skovhede 9093603be1 Added support for disabling the file scanner during backups.
This fixes #2963
2018-02-11 20:57:38 +01:00
Tyler Gill 08e0708a95 Change Duplicati's handling of reparse points, so that not all reparse points are treated as symlinks.
This is inspired largely by the new (/ returning) feature of OneDrive in Windows 10 Fall Creator's Update, which downloads files on-demand.
A side effect of that change is that the OneDrive folder (and subfolders of it) are marked as reparse points, even though they are not technically standard symlinks.
With this change, a new extension method IsSymlink is added for ISnapshotService and ISystemIO, which checks both the file attributes (for reparse point) and the symlink target path (if null, the path is not treated as a symlink).
All places that previously checked only the file attributes have been updated to use either this method (or at least the same logic, in the case of the core BackupHandler file check).
One side effect of this change is that '--symlink-policy=store' no longer ignores empty symlinks - they are now treated as regular files.
If there are empty symlinks, they will now be backed up as if they were regular files, but I don't know what the conditions are that create symlinks like that, so this might not effect anything in practice.
2018-02-06 13:24:49 -07:00
Tyler Gill cc053ff4b0 Normalize whitespace 2018-02-06 12:28:54 -07:00
Kenneth Skovhede 805a411f8f Fixed a few minor issues with the new approach, and rewrote the zip file packaging to allow packing more data into each volume. 2018-01-28 12:29:02 +01:00
Kenneth Skovhede 0554f484c6 Minor fix, do not start a new transaction when the backup is fully completed 2018-01-23 10:55:32 +01:00
Kenneth Skovhede e4ff6c47cc Fixed some minor details 2018-01-22 21:24:25 +01:00
Kenneth Skovhede 3634e674a3 Rewrote the controller to start the loghandler common for all services 2018-01-22 21:22:18 +01:00
Kenneth Skovhede 3524756beb Refactored everything related to the databases, such that the transactions are handled within the database class instead of passing around transaction objects. 2018-01-21 07:35:07 +01:00
Kenneth Skovhede 7c063cd3c1 Work on a faster way to get the full code to allow concurrent writes from the backend module 2018-01-20 19:12:20 +01:00
Kenneth Skovhede 75bf6857c1 Merge branch 'master' into concurrent_processing
# Conflicts:
#	.travis.yml
#	Duplicati/Library/Main/Database/LocalBackupDatabase.cs
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/ResultClasses.cs
#	Duplicati/Library/Main/Volumes/VolumeWriterBase.cs
#	Duplicati/Library/Utility/TempFile.cs
2018-01-20 15:02:41 +01:00
Kenneth Hsu ab489d9a28 Make parameter names in XML documentation match code. 2017-12-09 18:42:30 -08:00
Kenneth Hsu 1c7391399d Remove XML documentation for unmatched parameters. 2017-12-09 18:30:01 -08:00
Kenneth Hsu 8fdbbaa255 Avoid premature declaration of backup completion.
This addresses issue #2803.
2017-10-14 12:00:52 -07:00
Daniel Radünz 0a4a6edca1 Renamed all occurrences of "staggered version" to "retention policy" 2017-09-30 22:05:30 +02:00
Daniel Radünz be19329d7f Compact if new the option is used 2017-09-30 22:05:29 +02:00
Kenneth Skovhede 37e42b718d Fix not shutting down backendmanager if it is required for something else.
This fixes #2759
2017-09-26 22:45:24 +02:00
Kenneth Skovhede 9c0c5fbb97 Merge branch 'master' into concurrent_processing 2017-09-26 14:26:09 +02:00
Tyler Gill b4f56750f8 Add IQuotaInfo interface
It also makes quota enabled backends return an instance of this interface instead of the quota components separately.
This way, getting quota stats requires only a single remote request on backends like Google Drive and OneDrive.
2017-09-24 17:30:52 -06:00
Kenneth Skovhede 6d401fbd8d Changed all hash algorithms to use the Cng version.
This fixes #2621
2017-09-20 09:58:43 +02:00
Kenneth Skovhede 21b7a98dc3 Implemented the blocking flag in the uploader 2017-09-19 14:18:54 +02:00
Kenneth Skovhede 49a8bd12f6 Merge branch 'master' into concurrent_processing 2017-09-18 14:39:26 +02:00
Kenneth Skovhede d57c789f4f Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
#	Duplicati/Library/Main/Options.cs
2017-09-18 11:56:35 +02:00
Kenneth Skovhede e0d8a57ccc Added re-use of the backend across the operations in the backup step.
This should fix the AmzCD consistency issue where it does not wait for the listing after performing a delete.
2017-09-18 11:54:48 +02:00
Dan Stahr 7c9b2fcd83 Fixed missed vacuum reference. 2017-08-04 12:26:15 +01:00
Kenneth Skovhede d18431b385 Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Controller.cs
#	Duplicati/Library/Main/Database/ExtensionMethods.cs
#	Duplicati/Library/Main/Database/LocalBackupDatabase.cs
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
#	Duplicati/Library/Main/ResultClasses.cs

First attempt at merging all changes from 2016-10-08 to now :/
2017-05-30 00:35:31 +02:00
Dan Stahr 27c9e15875 Improved database performance and logging
- Don't use Vacuum() just before PurgeLogData (which performs vacuum() already)
 - Removed unncessary poorly performning query (after optimizing it I found out it's unused)
 - Correctly log calls for ExecuteScalarInt64
2017-03-23 15:22:58 +00:00
Jonathan Hardison debfffbe82 Word change.
Changed from loosing to losing.
Losing - cause/suffering loss.
Loosing - to let loose; free from bonds or restraint. / to let go a hold
2017-02-13 15:36:39 -06:00
Kenneth Skovhede cafb8e6ff1 Fixed issues with reporting the correct error message when enumerating files 2017-01-23 20:53:18 +01:00
Kenneth Skovhede a029890409 Implemented better default error messsages 2017-01-09 11:35:38 +01:00
Kenneth Skovhede 9a849a2b58 Improved support for cross-os restores.
This fixes #1302
This fixes #1983
2017-01-06 23:01:54 +01:00
Kenneth Skovhede 76aae5de7b Changed the logic for getting the last-modified timestamp from the database.
Now we only look at the timestamp from the previous fileset, instead of for the last time the file was seen.
This should improve lookup times, and thus the running time for backups with many files.

This change means that the following sequence of operations will react differently:

- backup
- delete file
- backup
- undelete file
- backup

Prior to this commit, the undeleted file would be seen with the original timestamp and thus can avoid being scanned for changes.
After this commit, the file will be treated as a new file, even if it has the previous timestamp and will thus be scanned for changes.

An additional switch has been introduced, --check-filetime-only that improves the lookup further by not looking at the metadata or filesize, and thus makes a much lighter call to the database, where fewer tables need to be touched.
2017-01-05 10:03:32 +01:00
Kenneth Skovhede 9a227ada6b Reworked the cleanup process to allow a dangling filelist, such that this dangling entry can be used as the basis for a synthetic filelist.
Also added an option to disable synthetic filelists.
This fixes #2038.
This fixes #2101
2016-12-24 11:42:26 +01:00
Kenneth Skovhede 606b835f7a Improved verbose messages when excluding a file based on the size criteria 2016-12-08 11:09:51 +01:00
Kenneth Skovhede be62ff5556 Added check to avoid adding excluded/missing files to the database.
This fixes #1855.
2016-12-08 11:00:12 +01:00
Kenneth Skovhede 32423d78b5 Added EndTime value in a few places.
This fixes #2127
2016-12-02 00:08:09 +01:00
Kenneth Skovhede cdba1211a5 Fixed integer overflow when calculating maximum metadata size.
This fixes #2089
2016-11-08 10:47:02 +01:00
Kenneth Skovhede 1f7110503a Updated unix symlinks handling to store correct metadata for symlinks 2016-11-03 13:11:53 +01:00
Max 5c7dfcada7 Refactor of hyper-v backup 2016-10-22 23:08:27 +02:00
Kenneth SkovhedeandGitHub 431b917ae5 Merge pull request #2020 from AndersGron/master
Amazon cloud drive consistency delay
2016-10-18 18:55:30 +02:00
Kenneth Skovhede 8c48937caa Typo fix 2016-10-18 15:18:31 +02:00
Kenneth Skovhede 8c34b3bd84 Fixed parallelism spawning the correct handlers 2016-10-18 15:17:59 +02:00
Kenneth Skovhede 3880df7e6d Merge branch 'hyperv_ui' of https://github.com/mnaiman/duplicati into mnaiman-hyperv_ui
# Conflicts:
#	Duplicati/Library/Main/Operation/BackupHandler.cs
2016-10-18 13:31:22 +02:00
Kenneth Skovhede c1c8c9a1aa Merge branch 'master' into concurrent_processing
Some changes were required for this merge,
now the StreamBlockSplitter process will take in any stream, store the blocks and return the blockset ID.
This makes it compatible with the changes for metadata handling where they support more than a single block of metadata.

# Conflicts:
#	Duplicati/Library/Main/Database/LocalDatabase.cs
#	Duplicati/Library/Main/Database/LocalRepairDatabase.cs
#	Duplicati/Library/Main/Operation/BackupHandler.cs
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
2016-10-18 13:27:36 +02:00
Kenneth Skovhede 60c972cf0b Added a comment that explains how to get more than 300mb metadata support, should we need it 2016-10-17 15:43:41 +02:00
Kenneth Skovhede 309bf1648d Merge branch 'master' into feature/fix_for_different_blockhash_and_filehash_plus_multiblocks_metadata
# Conflicts:
#	Duplicati/Library/Main/Database/LocalDatabase.cs
#	Duplicati/Library/Main/Database/LocalRecreateDatabase.cs
#	Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
#	Duplicati/UnitTest/BorderTests.cs
2016-10-17 13:28:27 +02:00
AndersGron b008a54302 Fix use of null object
Fix use of null object
2016-10-16 22:02:55 +02:00
Max 06cccea7a7 moved hyper-v code to hyper-v classes 2016-10-16 01:40:12 +02:00
Max 8c72cefd5b changes in hyper-v backed 2016-10-15 23:55:50 +02:00
Kenneth Skovhede 6ef4bfa5ac Merge branch 'master' into concurrent_processing
# Conflicts:
#	Duplicati/Library/Main/Strings.cs
2016-10-09 01:29:24 +02:00