-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathTODO
59 lines (49 loc) · 1.82 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
GhostFS
-------
- Rename gmount to ghostfs_mount and add ghostfs_create. So ghostfs_mount will
only be responsible for mounting, and ghostfs_create only for creating files
with a given url and additional parameters such as attributes. [DONE]
- Use symlink for file creation instead of using touch + setfattr, the latter
being used to set url.
- Add support to ftp protocol.
- Add support to scp protocol.
- Add support to directories.
- GhostFS isn't persistent, so let's add a config file that will contain
the file system structure. This config file will be passed to ghostfs_mount
which in turn will reconstruct the structure based on the information stored.
Example of config file:
{ .name=/file, .url=example.com/file, .attributes = { {key, value} } }
{ .name=/dir/file2, .url=example.com/file2, .attributes = {} }
- Add shrinker ability to cache. Cache will be shrunk if more than 80% of
system memory is being used. Consider using mmap/munmap for better efficiency
of a shrink. Allocation wouldn't go through LIBC.
GhostFS plugins
----------------
- Add support to extern drivers written in other languages:
[X] Python
[ ] Perl
[ ] Java
[ ] Lua
[ ] Ruby
- Add support to sqlite protocol.
- sqlite protocol will be about querying a sqlite database, and the return
value will be available by reading the file.
- attribute query will be used to store the query
- we may need additional attributes such as password to access database
content.
- when file size is needed, we will have to perform the query, cache it
and then return the size of the query result as the file size.
- Add support to other database protocols:
[ ] MySQL
[ ] PostgreSQL
[ ] Cassandra
[ ] Redis
[ ] ScyllaDB
[ ] mongoDB
[ ] Parse
[ ] FirebirdSQL
[ ] Oracle
- Add support to other protocols:
[ ] Dropbox
[ ] Google Drive
[ ] Google BigQuery