Commit Graph

4521 Commits

Author SHA1 Message Date
Thomas Waldmann b7b6abca7a hashindex: more tests for basics
KeyError test failing due to bug.
2017-06-17 23:17:09 +02:00
enkore 767f72b03e Merge pull request #2692 from enkore/f/initopts
remove short options for rarely used options / commands
2017-06-17 17:05:04 +02:00
Marian Beermann 3f72790b5d upgrade: remove short option for --inplace 2017-06-17 16:44:13 +02:00
Marian Beermann 28f944bd91 init: remove short option for --append-only 2017-06-17 16:40:56 +02:00
enkore b1dab2c661 Merge pull request #2689 from enkore/docs/formatting-i2650
docs: minor formatting fixes
2017-06-17 14:38:38 +02:00
Marian Beermann b1205a7932 docs: fix too small text in tables 2017-06-17 14:32:37 +02:00
Marian Beermann 0288fff6b7 docs: explain formatting 2017-06-17 14:29:56 +02:00
Marian Beermann 02ada03486 docs: remove more boxes around monospace 2017-06-17 14:29:55 +02:00
enkore 7d11b4443d Merge pull request #2686 from enkore/docs/i2651
init: note possible denial of service with "none" mode
2017-06-17 14:17:02 +02:00
Marian Beermann 8687495793 docs: css: avoid scroll bars on tables 2017-06-17 12:40:17 +02:00
Marian Beermann a04625cd13 nanorst: better inline formatting in tables 2017-06-17 12:39:26 +02:00
Marian Beermann 97089fe141 init: note possible denial of service with "none" mode 2017-06-17 12:39:26 +02:00
enkore a013bd7d75 Merge pull request #2687 from enkore/docs/formatting-i2650
More consistent docs formatting
2017-06-17 12:38:48 +02:00
enkore 829f05de81 Merge pull request #2685 from enkore/docs/i2624
document pattern denial of service
2017-06-17 12:37:43 +02:00
Marian Beermann dd8a815327 docs: html: format `option values` like in man pages 2017-06-17 12:36:24 +02:00
Marian Beermann 5d9beb5dd2 docs: html: less annoying `` in running text 2017-06-17 12:33:01 +02:00
Marian Beermann b08064bb4e docs: turn smartypants back on, since --options are now in `` 2017-06-17 12:29:13 +02:00
Marian Beermann 772be8fa97 python setup.py build_usage 2017-06-17 12:28:42 +02:00
Marian Beermann 26970cd4e9 delete docs/misc/compression.conf 2017-06-17 12:28:16 +02:00
Marian Beermann 5aa865c8d8 docs: double backticks for --options 2017-06-17 12:27:53 +02:00
Marian Beermann bd701e58c5 docs: backticks for option values 2017-06-17 12:20:25 +02:00
Marian Beermann 48642d787a docs: double backticks for --options 2017-06-17 12:18:52 +02:00
Marian Beermann 1f5ddb6572 document pattern denial of service 2017-06-17 11:59:56 +02:00
enkore 2b13607f46 init: shaext is supported in openssl and better on ryzen than b2 2017-06-16 11:44:23 +02:00
enkore 5eeaf7a67c Merge pull request #2660 from enkore/issue/2659
cache sync: check Operation.READ compatibility with manifest
2017-06-16 09:48:09 +02:00
enkore b6a4cf19bc Merge pull request #2676 from enkore/f/fusecache
fuse: redo ItemCache
2017-06-16 09:43:51 +02:00
Marian Beermann b2a4ae6bc2 lrucache: use explicit sentinel instead of None
just in case someone wants to cache a big pile of nothing
2017-06-16 00:41:38 +02:00
Marian Beermann 2766693706 fuse: update comments 2017-06-15 23:50:17 +02:00
enkore 7877aab198 Merge pull request #2678 from enkore/f/chunker-buzhash
chunker: fix invalid use of types
2017-06-15 09:05:44 +02:00
Marian Beermann faf2d0b537 chunker: fix invalid use of types
With the argument specified as unsigned char *, Cython emits
code in the Python wrapper to convert string-like objects to
unsigned char* (essentially PyBytes_AS_STRING).

Because the len(data) call is performed on a cdef'd string-ish type,
Cython emits a strlen() call, on the result of PyBytes_AS_STRING.

This is not correct, since embedded null bytes are entirely possible.

Incidentally, the code generated by Cython was also not correct,
since the Clang Static Analyzer found a path of execution where
passing arguments in a weird way from Python resulted in strlen(NULL).

Formulated like this, Cython emits essentially:

c_buzhash(
 PyBytes_AS_STRING(data),
 PyObject_Length(data),
 ...
)

which is correct.
2017-06-14 19:16:36 +02:00
Marian Beermann 3b928a4558 fuse: refactor ItemCache 2017-06-14 13:58:09 +02:00
Marian Beermann 9fd79a9e56 fuse: decrypted cache 2017-06-14 13:35:07 +02:00
Marian Beermann f04119c246 fuse: ItemCache on top of object cache 2017-06-14 13:35:07 +02:00
Marian Beermann ec532304d2 fuse: remove unnecessary normpaths 2017-06-14 13:34:34 +02:00
enkore 8e477414ee Merge pull request #2675 from enkore/f/fusecache
fuse: instrumentation
2017-06-14 09:31:55 +02:00
Marian Beermann ff05895b7e fuse: don't keep all Archive() instances around
they're only needed inside process_archive, and not needed in general
for pending_archives.
2017-06-13 23:16:28 +02:00
Marian Beermann 879f72f227 fuse: log process_archive timing
the easier alternative to "/bin/time stat mountpoint/<archive>/..."
2017-06-13 23:16:28 +02:00
Marian Beermann c791921951 fuse: instrument caches
note: signal processing can be arbitrarily delayed;
Python processes signals as soon as the code returns into the interpreter
loop, which doesn't happen unless libfuse returns control, i.e.
some request has been sent to the file system.
2017-06-13 23:16:28 +02:00
enkore ae162307f7 Merge pull request #2672 from enkore/f/fastinfo
info: use CacheSynchronizer & HashIndex.stats_against
2017-06-13 22:51:03 +02:00
TW b51198ebe7 Merge pull request #2673 from ThomasWaldmann/negative-ids
FUSE: fix negative uid/gid crash, fixes #2674
2017-06-13 19:53:54 +02:00
Thomas Waldmann ccd066f0af FUSE: fix negative uid/gid crash, fixes #2674
they could come into archives e.g. when backing up
external drives under cygwin.
2017-06-13 19:51:37 +02:00
TW 130e6771d0 Merge pull request #2665 from ThomasWaldmann/vagrant-openindiana
vagrant: add OpenIndiana
2017-06-13 19:08:20 +02:00
Marian Beermann e189a4d302 info: use CacheSynchronizer & HashIndex.stats_against 2017-06-13 14:34:10 +02:00
enkore fd1efbac90 Merge pull request #2671 from enkore/f/chunkerub
chunker: don't do uint32_t >> 32
2017-06-13 13:13:33 +02:00
enkore 6ce7b9505c Merge pull request #2670 from enkore/f/fcs-playnice
cache sync: don't do memcpy(..., 0, 0)
2017-06-13 13:13:06 +02:00
Marian Beermann 944a4abd58 chunker: don't do uint32_t >> 32 2017-06-13 11:42:43 +02:00
Marian Beermann 4490a8bbc3 cache sync: don't do memcpy(..., 0, 0)
!ctx->buf => ctx->tail - ctx->head == 0
2017-06-13 11:16:04 +02:00
enkore f3f3710279 Merge pull request #2669 from ThomasWaldmann/no-extract-stdout
don't write to disk with --stdout, fixes #2645
2017-06-13 09:25:13 +02:00
Thomas Waldmann 0b00c14c27 don't write to disk with --stdout, fixes #2645
if we always give stdout to extract_item(), it gets into the stdout-
processing branch which only emits data from items that have chunks
and does nothing for items which don't.
2017-06-13 01:12:14 +02:00
Marian Beermann c9c227f2ca cache sync: check Operation.READ compatibility with manifest 2017-06-12 23:46:49 +02:00