Joining Filesystems

Norman Feske norman.feske at ...1...
Wed Jul 1 22:14:02 CEST 2015


Hi Ben,

On 01.07.2015 05:06, Nobody III wrote:
> Is there already any file manager currently being written?

I don't think so. For the Turmvilla scenario, I am using Noux + the GNU
tools (bash, coreutils) as my file manager.

> What is the best way of joining multiple filesystems into a single tree?
> (Or should I be doing something different?)

This is possible by using the VFS library, which is implicitly used by
libc-using programs as well as by Noux. The VFS supports stacked file
systems similar to the union fs known from Linux.

> What's the best way to scan a directory for files and other directories?

The easiest way might be the use of the POSIX functions as provided by
the libc. The use of our VFS mechanism is transparent at the libc API
level. In principle, you can also use the VFS library directly, without
the libc. This is preferable for components that need to avoid the
complexity that comes with a libc. Furthermore, at the Genode session
level, you may work directly on the 'File_system::Session' interface.

> How much file type detection (and file preview) is safe?

A file-type detector, a previewer, or more generally, any interpreter of
untrusted (and potentially harmful) data should be sandboxed. Genode's
architecture lends itself to the sandboxed execution of such code. For a
discussion of the topic, please refer to Section 4.7.1. of the
documentation [1].

[1] http://genode.org/documentation/genode-foundations-15-05.pdf

> Also, I may want to use threading. Are C++11 threads supported?

C++11 threads are not supported. For multi-threading, you have the
options to use the Genode API (Section 8.10. of the documentation), or
to use the pthread library (the natural way for libc-using programs).

Best regards
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list