Commit graph

713 commits

Author SHA1 Message Date
Marian Beermann
31bbdc3bee
Fix FUSE crash in xattr code on Linux introduced in 4d7b0f35 2016-07-07 20:33:48 +02:00
Thomas Waldmann
4d7b0f357a fuse: getxattr fail must use errno.ENOATTR, fixes #1126
The problem was that OS X Finder queried some OS X specific xattrs
and if they were not present, the wrong errno (ENODATA) was included
in the raised FUSEError exception. According to the llfuse docs, the
errno must be ENOATTR for this case.

Obviously, Finder didn't handle this well and denied access to the
file. Also, file size was displayed as "zero bytes" although we
return the correct value.
2016-07-07 03:38:21 +02:00
Thomas Waldmann
b0b2ebb6ed fixup: only create chunks_healthy if we actually replaced chunks 2016-07-06 23:10:04 +02:00
Thomas Waldmann
5105a0a5a6 repair: remember the good chunks
if we do not lose the original chunk ids list when "repairing" a file (replacing missing
chunks with all-zero chunks), we have a chance to heal the file back into its original
state later, in case the chunks re-appear (e.g. in a fresh backup).
2016-07-06 22:42:18 +02:00
TW
9fa8aa495c Merge pull request #1263 from enkore/issue/1262
Repository: cleanup on ENOSPC
2016-07-06 00:23:55 +02:00
Thomas Waldmann
e0f549a01d move the hash sizes script also to scripts/ 2016-07-05 23:14:46 +02:00
Marian Beermann
7ed425dae0
Repository: cleanup on ENOSPC 2016-07-05 20:33:07 +02:00
TW
7987434a3f Merge pull request #1266 from ThomasWaldmann/fix-chown-cygwin
catch "invalid argument" on cygwin, fixes #257
2016-07-05 17:33:56 +02:00
Thomas Waldmann
72a7c0bae5 catch "invalid argument" on cygwin, fixes #257
obviously cygwin (windows) does not like the made-up uid 100 gid 200
and raises "invalid argument" OSError.
2016-07-05 17:20:23 +02:00
Thomas Waldmann
498d4b141e sparse test: fix sparseness assertion in test prep, fixes #1264
use the same condition for the input file as also later for the extracted file.

the test preparation sparseness assertion failed on cygwin / ntfs, because the
input file uses ~40MB in blocks vs. total_len ~80MB.
2016-07-05 16:49:50 +02:00
enkore
ee2ba29b73 Merge pull request #1259 from ThomasWaldmann/env-var-remote-path
add missing BORG_REMOTE_PATH env var, fixes #1258
2016-07-04 23:33:43 +02:00
Thomas Waldmann
07d0a61e46 forced archive deletion, fixes #1139 2016-07-04 23:13:11 +02:00
Thomas Waldmann
3325126988 add missing BORG_REMOTE_PATH env var, fixes #1258 2016-07-04 15:06:20 +02:00
Thomas Waldmann
d59a1d5fef doc and help update for --read-special 2016-07-04 14:06:30 +02:00
Thomas Waldmann
00a5470125 symlink processing for --read-special mode
processing depends on symlink target:
- if target is a special file: process the symlink as a regular file
- if target is anything else: process the symlink as symlink

refactor code a little to avoid duplication.
2016-07-04 14:02:05 +02:00
Thomas Waldmann
5476ece81e fake regular file mode for --read-special mode, fixes #1214 2016-07-04 14:02:05 +02:00
Thomas Waldmann
a3ef692132 reimplement --read-special, fixes #1241 2016-07-04 13:54:31 +02:00
Thomas Waldmann
58515d0f95 remove old implementation of --read-special
this was a bit too simple, better implementation see next changesets.
2016-07-04 13:54:31 +02:00
Thomas Waldmann
7c8783e7c2 Revert "in --read-special mode, follow symlinks, fixes #1215"
This reverts commit c3073bacbb.

Needs to be solved differently, see following changesets.
2016-07-04 13:54:31 +02:00
enkore
c9597406ba Merge pull request #1255 from enkore/issue/1235
Repository: Read v2 hints files
2016-07-04 09:02:35 +02:00
TW
eea46928ff Merge pull request #1234 from enkore/issue/1231
Implement fail-safe error handling for borg-extract
2016-07-04 04:40:27 +02:00
Marian Beermann
f3aaffdb39 Repository: fix hints file unknown version error handling bug 2016-07-04 00:55:12 +02:00
Marian Beermann
e7740458cd
Repository: Read v2 hints files
Fixes #1235
2016-07-04 00:44:29 +02:00
Marian Beermann
93f4b09d41
BackupOSError documentation 2016-07-03 23:58:14 +02:00
Marian Beermann
7db952ab7f fixup rename 2016-07-03 23:57:55 +02:00
Joachim Breitner
f6deb09184 Documentation: Explicate that Fnmatch is default
This fixes #1247. It also regenerates the usage documentation, so that
styling fixex in that section (as well as other existing changes) make
it into the files in docs/.
2016-07-03 16:57:23 +02:00
Thomas Waldmann
9725c03299 close the repo on exit - even if rollback did not work, fixes #1197 2016-07-03 02:58:17 +02:00
Thomas Waldmann
99566a31c0 sync the containing directory also 2016-07-01 02:11:49 +02:00
Thomas Waldmann
fde5a60549 make sure data hits disk before commit tag, fixes #1236 2016-07-01 01:11:12 +02:00
Marian Beermann
26bf500566
Add missing error handler in directory attr restore loop (2/2) 2016-07-01 00:14:32 +02:00
Marian Beermann
e365d64718 Add missing error handler in directory attr restore loop (1/2) 2016-07-01 00:14:17 +02:00
Marian Beermann
b241f95a4b Implement fail-safe error handling for borg-extract
Note that this isn't nearly as critical as the other error handling bug,
since nothing is written. So it's "merely" misleading error reporting.
2016-07-01 00:14:10 +02:00
Marian Beermann
5e260fdfda Rename input_io*() -> backup_io*() 2016-07-01 00:13:53 +02:00
Lee Bousfield
c515d6018d
Add --append-only to borg serve
Fixes #1168
2016-06-30 17:58:36 -04:00
enkore
124265330f Merge pull request #1216 from ThomasWaldmann/read-special-follow-symlink
in --read-special mode, follow symlinks, fixes #1215
2016-06-29 17:12:11 +02:00
enkore
67c69998d6 Merge pull request #1211 from enkore/issue/1138
Fix incorrect propagation of OSErrors in create code
2016-06-29 17:07:51 +02:00
Thomas Waldmann
c3073bacbb in --read-special mode, follow symlinks, fixes #1215 2016-06-28 18:49:51 +02:00
Marian Beermann
e96905c6b1
Fix error swallowing of ignored responses in RPC code 2016-06-27 22:45:44 +02:00
Marian Beermann
431441f0d6 input_io_* tests 2016-06-27 22:00:24 +02:00
Marian Beermann
5b453856ec
Fix incorrect propagation of OSErrors in create code 2016-06-27 20:56:41 +02:00
Thomas Waldmann
36b1863c44 use long long for AES block counter, fixes #1206 2016-06-26 20:45:22 +02:00
TW
c2eae540c3 Merge pull request #1199 from verygreen/bug1195
Ignore empty index file.
2016-06-24 17:53:54 +02:00
enkore
13b6f173ed Merge pull request #1193 from ThomasWaldmann/openssl-1.0-1.1-compat
OpenSSL 1.0 and 1.1 compatibility
2016-06-24 17:20:07 +02:00
Oleg Drokin
f99792d31d Ignore empty index file.
Empty index file is most likely a result from an unclean
shutdown in the middle of write, e.g. on ext4 with delayed
allocation enabled (default).
Ignoring such a file would get it recreated by other parts of code,
where as not ignoring it leads to an exception about
not being able to read enough bytes from the index.

this commit fixes #1195

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
2016-06-24 11:18:54 -04:00
enkore
5b34483310 Merge pull request #1194 from ThomasWaldmann/more-placeholders
add placeholder support at missing places, add missing help
2016-06-23 17:38:04 +02:00
Thomas Waldmann
12cb66b9f6 fix "patterns" help formatting, too
this way it renders nicely in html (via sphinx) and on console
2016-06-22 08:44:14 +02:00
Thomas Waldmann
5ae340998c update docs about placeholders 2016-06-22 08:40:31 +02:00
Thomas Waldmann
6407742d78 support placeholders for --prefix (everywhere), fixes #1027
this fixes a ugly inconsistency: you could use placeholder for borg create's archivename.
but you could not use them for borg prune's prefix option.
2016-06-21 23:36:30 +02:00
Thomas Waldmann
b072e99394 fix invalid placeholder in unit test 2016-06-21 23:14:44 +02:00
Thomas Waldmann
b630ae9231 catch and format exceptions in arg parsing 2016-06-21 23:00:08 +02:00