Individual file access

Nobody III hungryninja101 at ...9...
Sun Feb 11 02:12:04 CET 2018

I've started picking up my fs_filter work again, but, particularly given
the move away from individual filesystem servers toward VFS plugins, and
the benefits (and partial implementation) of a dynamic VFS, I want to
pursue that route (combined with a transparent link plugin) rather than the
fs_filter component route.

In order to make the VFS sufficiently dynamic, it seems that the
Dir_file_system code just needs more sophisticated code to handle config
updates. Am I correct?

As for my VFS plugin, I need a way for it to access the rest of the VFS,
particularly the root directory. As far as I can tell, this isn't possible
with the current VFS code. How should we change this? It would allow my
planned transparent link VFS plugin to work, as well as others such as
copy-on-write union directories.

On Jun 27, 2017 1:02 AM, "Norman Feske" <norman.feske at ...1...>

Hi Ben,

On 21.06.2017 05:45, Nobody III wrote:
> I've started working on the implementation, and here's my plan:
> The component tree is the same as what you suggested, but fs_filter
> provides a "pipe" file to send requests (in XML format). The fs_filter
> component responds by spawning the Qt file picker. When the user chooses
> a file, the file is added to the filesystem provided by fs_filter, and
> fs_filter acknowledges the packet. The app can then read another
> file/pipe that contains the name of the selected file, then open the
> selected file.

this sacrifices the second advantage of my original suggestion, namely
that the fs_filter is transparent to existing applications. With your
approach, the application needs to speak an additional protocol
(generating the requests to the "pipe").

In principle, the selection of multiple files could instead be handled
by letting the fs_filter populate a virtual directory instead of
providing a single file. But as I haven't thought this through, I don't
want to keep you from exploring the direction you picked.

> Also, how do I spawn and use the file picker? Is there any existing
> example of using a child component like a library?

Please have a look at gems/src/app/launcher, which hosts a number of
components (e.g., menu_view) as child subsystems.


Dr.-Ing. Norman Feske
Genode Labs ·

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

Check out the vibrant tech community on one of the world's most
engaging tech sites,!
genode-main mailing list
genode-main at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list