Commit Graph

181 Commits

Author SHA1 Message Date
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
Jonas Borgström 37cc63fc46 Fix one more -Werror=declaration-after-statement issue 2014-03-30 22:35:13 +02:00
Tung Dao 6d77808bec Fix for ISO C90 compliance 2014-03-30 22:43:31 +07:00
Jonas Borgström 1db4ba52f9 Make sure key files end with a new line 2014-03-28 22:56:40 +01:00
Jonas Borgström 8080f183d6 mount: Improve fuse filesystem memory efficiency
Closes #59
2014-03-28 22:51:09 +01:00
Jonas Borgström 3b80688959 mount: Load archive metadata on demand 2014-03-27 23:01:14 +01:00
Jonas Borgström af262482de mount: Use RepositoryCache
This makes a full repository mount a bit faster but it's still
too slow and memory hungry.
2014-03-26 22:42:20 +01:00
Jonas Borgström 8e078b5f91 Initial (naive) full repository fuse mount support 2014-03-26 22:06:53 +01:00
Jonas Borgström a9fc62cc9a Added option to restrict remote repository access to specific path(s)
With this option remote repository access can be restricted to a
specific path for a specific ssh key using the following line
in ~/.ssh/authorized_keys::

command="attic serve --restrict-to-path /data/clientA" ssh-rsa clientA's key
command="attic serve --restrict-to-path /data/clientB" ssh-rsa clientB's key

Closes #51.
2014-03-24 21:28:59 +01:00
Johann Klähn f47353e7ef accept names of other commands in help command 2014-03-21 22:12:15 +01:00
Jonas Borgström 8a1ebe0112 Added '--stats' option to attic prune and attic delete 2014-03-19 22:32:07 +01:00