Marian Beermann
82575dbfe5
argparse cleanup
...
- action='store_true' implies default=False
- missing metavars added
- minor code formatting
2017-06-20 18:09:00 +02:00
Marian Beermann
b1747873d9
docs: various formatting fixes
2017-06-20 15:23:52 +02:00
Marian Beermann
55e1a54385
AdHocCache: avoid divison by zero
...
0.01 ~ "one tick or less". ymmv.
2017-06-18 13:32:12 +02:00
Marian Beermann
c7dda0aca9
docs: assorted formatting fixes
2017-06-18 12:12:50 +02:00
TW
7df6597fa1
Merge pull request #2654 from enkore/f/no-cache-sync
...
create: --no-cache-sync
2017-06-18 03:22:06 +02:00
Marian Beermann
125b02c5c8
docs: list: fix unintended block quote
2017-06-18 02:10:10 +02:00
Marian Beermann
4689fd0c22
cache: explain fetch_missing_csize cost
2017-06-18 02:04:31 +02:00
Marian Beermann
0462a561c1
item: explicate csize isn't memorizable
2017-06-18 02:01:28 +02:00
Marian Beermann
2cbff48fd3
AdHocCache: explicate chunk_incref assertion
2017-06-18 02:01:27 +02:00
Marian Beermann
5eeca3493b
TestAdHocCache
2017-06-18 02:01:27 +02:00
Marian Beermann
3c8257432a
cache sync: fetch_missing_csize don't check ids against empty idx
...
This is always the case if self.do_cache is False.
2017-06-18 02:01:27 +02:00
Marian Beermann
fc7c560345
AdHocCache: fix size not propagating to incref
2017-06-18 02:01:27 +02:00
Marian Beermann
8aa745ddbd
create: --no-cache-sync
2017-06-18 02:01:26 +02:00
Thomas Waldmann
726051b9d1
fix double delete in rebuild_refcounts
...
in case of the Manifest having an IntegrityError,
the entry for the manifest was already deleted.
2017-06-17 23:25:32 +02:00
Thomas Waldmann
72ef24cbc0
hashindex: implement KeyError
2017-06-17 23:25:32 +02:00
Thomas Waldmann
b7b6abca7a
hashindex: more tests for basics
...
KeyError test failing due to bug.
2017-06-17 23:17:09 +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
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
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
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
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
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
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
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
Marian Beermann
78cbf695c4
cache sync: suppress GCC C90/C99 int literal warning
...
warning: this decimal constant is unsigned only in ISO C90
Raised by GCC 4.9.2 on PowerPC.
The warning is bogus here due to the immediate explicit cast; newer
versions don't emit it.
2017-06-12 10:53:55 +02:00
enkore
148a8a855b
Merge pull request #2663 from enkore/f/fcs-changes
...
cache sync changes
2017-06-11 21:27:25 +02:00
Marian Beermann
783a5926d6
cache sync: introduce BORG_NO_PYTHON
...
textshell edition
2017-06-11 20:23:17 +02:00
Marian Beermann
3c6372f841
cache sync: convert incoming integers to uint64_t
2017-06-11 20:20:00 +02:00