Thomas Waldmann
6c2c51939d
Manifest: use limited unpacker
2017-06-25 23:36:28 +02:00
Ed Blackman
9c5425dda8
Split up interval parsing from filtering for --keep-within
...
Fixes #2610
Parse --keep-within argument early, via new validator method interval
passed to argparse type=, so that better error messages can be given.
Also swallows ValueError stacktrace per the comment in the old code that
including it wasn't desirable.
2017-06-25 12:10:13 -04:00
Thomas Waldmann
7ebad4f803
FUSE vs. fuse
2017-06-24 01:24:14 +02:00
Thomas Waldmann
49411d1c6c
remove skipping the noatime tests on GNU/Hurd, fixes #2710
...
I recently installed GNU/Hurd 2017 and found the atime test works now.
2017-06-21 15:59:44 +02:00
Marian Beermann
771168a3af
docs: extract: move cwd note to --help
2017-06-21 00:16:25 +02:00
Marian Beermann
09d0d566a5
docs: with-lock: convert to proper admonition
2017-06-21 00:16:06 +02:00
enkore
710ca196d8
Merge pull request #2715 from enkore/f/rare-opts2
...
delete: remove short option for --cache-only
2017-06-20 21:01:23 +02:00
Marian Beermann
6e5ae6dc04
delete: remove short option for --cache-only
2017-06-20 18:13:10 +02:00
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