forked from freebsd/freebsd-src
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
39 lines (38 loc) · 2.29 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
39
Things to do before it's ready, in no particular order:
- rewrite config parser to be able to specify command line parameters to execs; this would allow to get rid of shell scripts
- man pages for hsm(1), hsmd(8), hsmq(8), hsmfs(5), and hsm.conf(5)
- example configuration for rsync, as cachefs and sshfs
- make it work with Dropbox (net/dropbox-api-command?)
- example configuration for Dropbox
- is there a working filesystem-on-a-blockchain we could interface to? Or at least p2p?
- fix handling of failed requests - don't create leftover unmanaged files and directories
- add async ioctls, so that eg hsm(1) can trigger staging multiple files at once
- make triggers work on non-directories
- implement release
- implement archive
- implement recycle
- get rid of release trigger in hsmd, it doesn't serve any purpose
- add HSM-related primaries to find(1)
- add "don't descend into offline dirs" option for du(1)
- rethink the terminology - how about s/stage/download/g and s/archive/upload/g?
- hsm(1) should report different states for files that are being staged or archived
- interface to Coda servers somehow?
- use cpdup instead of rsync
- documentation update: mention that one of the nice things about HSM is that just
after staging the file is already in the page cache, and so the time spent on
staging can be made up by subsequent faster access by the application
- documentation update: mention that HSM is perfectly suited for Media Transfer Protocol
- implement HSM backend using gvfs
- to implement something like Shadow Migration we need priorities for staging
requests, so that staging caused by trigger doesn't have to wait for scheduled
staging of files due to migration
- KASSERT that we're not calling triggers for unmanaged files
- after manual "hsm -S" we need to drop the vnode and mark it dead; otherwise the
applications won't notice that the file was replaced and might corrupt it
- removing a file needs to set "modified" on the containing directory. This way
we don't need whiteouts; on directory archival just remove remote files that
don't exist in the local directory
- unlink must wait until archiving is finished
- make sure we never try to stage a modified file, except when forced by "hsm -S"
- prevent hsmd and it descendants from accessing unmanaged files by checking
their SID