Commit Graph
138 Commits
Author SHA1 Message Date
Kenneth Skovhede 842fd96543 Implemented a new logging system that is more transparent and allows a more granular way of picking log messages.
Added ID's to each log message and each exception to allow later introduction of a Knowledgebase service that explains each error in more detail.
2018-03-15 09:12:34 +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 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
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 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
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 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 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
Max d03c794d0f fixes 3 2016-10-07 15:03:53 +02:00
Max 0cbd292924 fixes for hyper-v
basic logging
added safe checks
2016-10-06 00:26:54 +02:00
Kenneth Skovhede a0368d5f30 Added support for reporting backend size when --no-backend-verification is supplied.
This fixes #1723
2016-09-23 13:46:42 +02:00
Kenneth Skovhede 0c68daff6c Fixed all whitespace to be 4 spaces instead of tabs 2016-09-15 11:39:27 +02:00
Kenneth Skovhede 490776ed73 Implemented a database flag to mark a database as partially recreated.
Fixed issue with error messages when attempting to recreate a partial database for restore as described in #1695.
2016-09-13 21:55:15 +02:00
Kenneth Skovhede 72e3782b0a Added error reporting to detect errors such as the one reported in #1905. 2016-08-30 12:26:57 +02:00
Kenneth Skovhede 3f829cb6c1 Removed errors related to files reporting to be "reparsepoint" but not being symlinks.
This should fix #1727
2016-04-27 14:49:56 +02:00
Kenneth Skovhede d101f91c94 Fixed support for metadata larger than blocksize. Now supports one full blocklist of metadata, appx 300mb with default settings.
Added correct handling of metadata hashes, such that a metadata blockset is now handled the same was as a regular file blockset.
The query that creates the filesets does not support more than a single blocklist of metadata, hence the limitiation.
2016-04-04 18:11:48 +02:00
Kenneth Skovhede 72b33bcf93 Extra fixes to support larger metadata (up to appx 300 mb with default blocksize) 2016-04-03 23:54:52 +02:00
Kenneth Skovhede e40bd7f02a Proposed version, not complete with handling large metadata chunks 2016-04-03 23:10:47 +02:00
Kenneth Skovhede 875cd57eab Bit too quick there :) 2016-03-20 12:41:17 +01:00
Kenneth Skovhede bf07813ca8 Real fix for the problem with duplicate fileset timestamp on really short backups 2016-03-20 12:38:36 +01:00
Kenneth Skovhede 0530cb4d52 Added repair-in-progress check to avoid continuing work on a broken database 2016-03-18 13:26:12 +01:00
Kenneth Skovhede be959a8a1b Changed the name of a resource class 2016-03-14 09:35:01 +01:00
Kenneth Skovhede 1fab22c807 Fixed some crashes introduced with the refactoring 2016-02-19 00:15:16 +01:00
Kenneth Skovhede 3236459f86 More refactoring to reduce the number of shared variables used when calling around in the BackupHandler class 2016-02-18 23:10:26 +01:00