Commit Graph

191 Commits

Author SHA1 Message Date
Jonas Borgström 53f6738090 Merge pull request #111 from c4rlo/patch-1
fix typo in comment
2014-12-08 21:48:36 +01:00
Jonas Borgström 5d96434abd Merge pull request #113 from c4rlo/noatime
open files with O_NOATIME if possible
2014-12-08 21:48:04 +01:00
Jonas Borgström 7e15abd29c hashindex: Fix issue with indicies larger than 2GB 2014-11-22 14:41:24 +01:00
David Fries f22b62c1a4 limit create file permissions
Be safe by default, create files so that other users can't read them,
at least until the original permissions are set.
2014-10-31 20:02:12 -05:00
Jonas Borgström 678fdd1d42 Fix "Number of files" output for attic info.
Closes #124
2014-10-27 22:00:56 +01:00
Jonas Borgström 547fa0a590 Speed up initial repository access
Use os.listdir() instead of os.walk() to avoid unnecessary
stat() calls.

Closes #119
2014-10-10 21:01:55 +02:00
Jonas Borgström 7b9d129bcd Remove dead code 2014-10-09 20:43:58 +02:00
Jonas Borgström 5a69f58823 Introduce a separate exception for missing repository objects 2014-10-09 20:41:47 +02:00
Carlo Teubner f4804c07ca open files with O_NOATIME if possible 2014-09-12 22:22:08 +01:00
c4rlo ec73e45ae2 fix typo in comment 2014-09-07 13:54:18 +01:00
Jonas Borgström 21e03af56b Fix minor location parser bug.
Make sure the entire input is parsed.
2014-08-08 23:34:27 +02:00
Jonas Borgström 9f64e39d9f Reuse chunker buffer between files. 2014-08-03 15:04:41 +02:00
Jonas Borgström 193fb1fcd5 Added support for stripping leading path segments
closes #95
2014-08-02 22:15:21 +02:00
Jonas Borgström 8f4e0f7506 acl: Added workaround for old Linux systems
Really old Linux systems do not have extended_file_no_follow()
2014-08-01 15:50:18 +02:00
Jonas Borgström 1b0e21b95a Fixed typo 2014-07-10 15:44:29 +02:00
Jonas Borgström 2f72b9f960 HashIndex: Switch to a non-mmap based implementation
This eliminates unnecessary IO on low memory systems
2014-07-10 15:32:29 +02:00
Jonas Borgström 4b2dae29d4 Fix incorrect detect of follow_symlinks support
This only affects system with Python 3.3+ and a really old libc
2014-07-01 21:28:07 +02:00
Jonas Borgström 15065dbaa4 Fix sporadic "Resource temporarily unavailable" error
Issue reported on the mailing list while backing up to a remote
repository on OS X over a slow uplink.
2014-06-13 20:07:01 +02:00
Jonas Borgström 95162ce1f8 buzhash: One more test case
Test with more than 31 bytes to make sure our BARREL_SHIFT macro
works correctly.
2014-06-05 15:11:46 +02:00
Jonas Borgström df85e72d3c Fix file cache save bug 2014-06-03 23:10:52 +02:00
Jonas Borgström 243481f6da Fix test suite breakage 2014-06-03 22:00:34 +02:00
Jonas Borgström 80a2a4113f Revert "Reduce memory usage when backing up many small files"
The memory usage should be reduced a fair bit by #90 so this
might not be needed anymore. Or at least not enabled by default
2014-06-03 21:39:26 +02:00
Jonas Borgström 7f9fe03917 cache: Reduce file cache memory usage (#90)
The memory usage is reduced at the expence of extra msgpack
packing/unpacking. Hopefully this is a good tradeoff.

Ideally the entire cache should be replaced with a radix tree
but that will have to wait a bit.
2014-06-03 21:19:02 +02:00
Jonas Borgström 64cd6632a1 Avoid deadlock problems
Explicitly use write locks, instead of read locks (that are later
upgraded) unless we know we will never modify the repository
2014-05-31 15:39:51 +02:00
Jonas Borgström af3e78e6b2 Really fix EDEADLK bug 2014-05-31 15:17:06 +02:00
Jonas Borgström 9178d76ce7 Fix py3.2 specific EDEADLK related bug. 2014-05-31 15:15:56 +02:00
Jonas Borgström 3ab53b776d Fix crash on extreme mtime timestamps (year 2400+)
Closes #81
2014-05-18 18:28:26 +02:00
Jonas Borgström 11687fbec1 crypto: store EVP_CIPHER_CTX on the stack 2014-05-13 23:18:32 +02:00
Cyril Roussillon 0b4e324af2 chunker: optimized the barrel shift
move the modulo out of the barrel shift and use 32bits variables so
that the compiler recognizes it and uses the "rol*" asm instructions.

Before: 245 MiB/s
After: 338 MiB/s

CPU: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz

Modification by Jonas: commit message formatting and added
Cyril Roussillon to AUTHORS
2014-05-13 23:05:13 +02:00
Jonas Borgström 7e258c8401 crypto: Improved AES performance
attic.crypto now uses the OpenSSL EVP API for AES encryption.
This API uses AES-NI instructions when available resulting in
a significant AES encryption performance improvement:

Before: 80MiB/s
After: 1931MiB/s

Message size: 64kiB
CPU: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
2014-05-13 22:33:58 +02:00
Jonas Borgström dd5c0aa0e3 acl: make darwin acl code numeric_owner aware 2014-05-03 23:22:55 +02:00
Jonas Borgström 47c6141aab Experimental OS X ACL support (#66) 2014-05-03 15:10:11 +02:00
Jonas Borgström 055a40910b Reduce memory usage when backing up many small files
Closes #69.
2014-05-03 13:35:48 +02:00
Jonas Borgström a87a019608 cachedir: Add CACHEDIR.TAG file to attic cache dirs 2014-05-01 14:56:21 +02:00
Jeremy Maitin-Shepard 1d5410a3cf Add --exclude-caches option, for excluding CACHEDIR.TAG directories
See http://www.brynosaurus.com/cachedir/spec.html
2014-04-30 14:57:21 -07:00
Jeremy Maitin-Shepard 1955484e1b testsuite/archiver.py: Fix misspelling regual -> regular 2014-04-30 14:43:32 -07:00
Jonas Borgström c502481d5e fix typo 2014-04-29 23:07:41 +02:00
Jonas Borgström 1b779c896d Linux ACL support improvements 2014-04-29 22:29:26 +02:00
Jonas Borgström 4bcc1b8ff9 Fix Cython issue on Linux 2014-04-27 14:29:03 +02:00
Jonas Borgström 8c25d02481 Experimental FreeBSD ACL support (nfs4 and posix) (#66) 2014-04-27 14:17:52 +02:00
Jonas Borgström 54e757e717 acl: Remove acl comments 2014-04-13 23:41:04 +02:00
Jonas Borgström 29f95bba68 Use a dedicated file for bsdflags tests 2014-04-13 21:52:49 +02:00
Jonas Borgström 14808b77cb Fix Python3.2 compatibility 2014-04-13 20:34:32 +02:00
Jonas Borgström 0ad5253d84 Experimental Linux ACL support (#66) 2014-04-13 20:26:46 +02:00
Jonas Borgström 8bf3bb1ca3 Added support for backup and restore of bsdflags (OS X and FreeBSD)
This improves our Backup-Bouncer score (#56)
2014-04-08 21:52:26 +02:00
Jonas Borgström 4bbde41466 Fix bug where xattrs on symlinks were not correctly restored 2014-04-08 21:22:57 +02:00
Jonas Borgström 02a8172eee docs: More improvements 2014-04-06 22:47:22 +02:00
Jonas Borgström ead1511948 docs: More documentation improvements 2014-04-06 15:16:25 +02:00
Jonas Borgström ccb7ea909f prune: Use the local time zone (not UTC) when interpreting time 2014-03-30 22:57:16 +02:00
Jonas Borgström 9ae3d10a99 cache: Properly clean up txn.tmp after a failed commit 2014-03-30 22:46:57 +02:00