forked from systemd/casync
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
38 lines (37 loc) · 2.27 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
TO MAKE IT USEFUL FOR BACKUPS:
* encryption: aes256 of rotating hash function + HMAC for identifying chunks + individually encrypted chunks
* speed up repeated image generation: maintain persistent cache for directory trees that permits lookups by a path location as key, returning a chunk id and "newest covering mtime"
LATER:
* verify
* diff
* save/restore btrfs file/subvol flags
* save/restore hardlinks?
* check fs features when restoring
* exclude patterns
* build seed while extracting
* optionally make seeds persistent
* acquire gpg signature along with caidx/caibx/catar
* coalesce index frames sent over protocol
* rework uploading via ssh to use seed instead of cache store for providing chunks to server
* casync-http: parallel http GETs
* casync-http: try all configured stores one after the other before sending MISSING
* add support for compressed index files and archive files
* define mime types for our files
* define http-based url protocol prefix for caibx+caidx
* support accessing base trees through native protocol
* implicitly generate index + chunks when accessing base trees or archives through native protocol
* rework caindex to read multiple chunks per read (use reallocbuffer like elsewhere)
* permit 511 (or 4095?) redundant NUL bytes at the end of archive and index files, so that they could in theory stored on block devices
* seed: cache GOODBYE name table data so that we can regenerate the right bits when needed
* when extracting, optionally make use of reduced feature bits than the archive contains
* optionally import from/export to classic tar ball (and zip?)
* optionally interpret aufs/union mount whiteout files?
* fuse: expose acls and fcaps
* fuse: possibly translate user names on access
* fuse: provide "mount.casync" compat symlink so that people can list casync mounts in /etc/fstab
* encoder: change seeking to be more like decoder's seeking (i.e. delay returned events until the next ca_encoder_step() call)
* rename offset accessor functions (drop the "archive")
* when extracting, check that index feature flags and archive feature flags match
* send progress information via sd_notify(), so that people can wrap casync nicely in UIs
* maybe turn "recursive" mode into a numeric value specifying how far to descend?
* make "casync stat" work on a directory with a subpath