This repository was archived by the owner on May 11, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathTODO
More file actions
39 lines (34 loc) · 1.72 KB
/
TODO
File metadata and controls
39 lines (34 loc) · 1.72 KB
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
39
Milestone N
- Handle signals
- Code-cleanup
- Support funky filenames (name containing /, spaces and alike)
Milestone N+1
- Calculate md5 after transferring the file, so we can detect if the
source have changed during the transfer (so we don't get corrupted
files)
- Use MD5 to skip existing files, so we don't transfer them again. Just set
the mtime/ctime
- If dmsync is interupted during operation, it may malfunction:
- If files are only partially transferred, they'll never get resumed
unless the timestamp is incorrect (which is will be most of the time).
Transfer files to a temp file, then change permission/time and THEN
move it where it belongs
- man page
- Only mtime is considered. Perhaps ctime should be supported too
Milestone N+2
- Use sha1
- Re-think the master-slave protocol (ascii based? Smaller operations? Checksums)
- Detect deleted files
- Detect new hardlinks (as hardlinks to old files will have the same
timestamp as the old file, dmsync will not detect them)
- If dmsync is interupted during operation, it may malfunction:
- As it ONLY uses mtime to detect changes, When synching files, it will
randomly transfer the files that needs transferring, which may result
in that it transfer a new file, then an old (etc). If the operation
is interrupted after the new file, the older ones will NEVER get
transferred. Transfer files by age will eliminate this problem.
- Multiple destinations: Not sure its worth the additional complexity
Needs thinking, but it would solve the two first items in the above list:
- Make dmsync use a meta-directory to detect new fiels, deleted files..
REDESIGN:
- At start, generate a filelist of files (this can be stored in a metadirectory)