[erlang-questions] <DKIM> simple virtual file system in Erlang?

Marco Molteni marco.molteni@REDACTED
Mon Mar 27 20:07:15 CEST 2017


Hello all,

thanks for the helpful answers, especially the idea of a two-level lookup, path to hash and hash to blob. This would also naturally take care of data deduplication. On the other hand, it would require to keep a reverse index to map a given checksum to all the paths pointing to it. Storing only the path, without notion of intermediate node, would also make very time consuming doing simple operations such as listing the contents of a given directory, I would have to lookup _all_ the paths... So the idea is nice, but it requires refinements :-)

Now time to think a bit more about it.

marco

> On 26 Mar 2017, at 14:45, Marco Molteni <marco.molteni@REDACTED> wrote:
> 
> Hello colleagues,
> 
> I would like to start from the presentation "Build an FTP Server with Ranch in 30 Minutes" [1] and really build an FTP server, so at a certain point I need to hit the filesystem.
> 
> Since the idea is still as a presentation (as opposed to building a production FTP server) I don't want to touch the real filesystem of the host, I want to use a as simple as possible virtual filesystem. It could be backed by DETS or Mnesia for example, or it could stay only in memory.
> 
> On the other hand, it must still behave as a filesystem, that is, it must be hierarchical, so a direct mapping to a key/value store would not be enough. In the spirit of simplicity, I don't need any concept of read/write permission, I simply need a sort of graph with two types: inner nodes are directories, leaf nodes are files or empty directories.
> 
> I am thinking to use DETS and somehow introduce a very simple intermediate layer that would offer the impression to be in a graph (each non-leaf node a directory) and map it to the DETS key/value API.
> 
> Any suggestions?
> 
> thanks
> marco
> 
> [1] https://ninenines.eu/articles/ranch-ftp/




More information about the erlang-questions mailing list