Hi Cedric,
I just noticed that I left one of your questions unanswered.
Alternatively, I have to wonder whether some runtime loading (instead of launchtime loading) of the VFS plug-in would make sense. Generally speaking, Genode supports dlopen()-style loading of .so libraries, so I suppose if the VFS server gets fully loaded, and then later its "config" ROM gets amended with an extra plug-in, then the plug-in would be initialized with a full LibC context.
Genode/Sculpt has gotten various "dynamic scenarios" over the years, I wonder if that one is implemented ? It might be a "nice-to-have", beyond the immediate problem discussed here, since it's nice to be able to try out new FS plug-ins without rebooting Genode.
This comes down to dynamically changing the VFS layout of a component, which would be really cool. We have indeed contemplated the option to dynamically reconfigure the VFS in the past. Given the dynamic re-configurability of most Genode components, this would be a natural and intuitively expected feature after all.
However, not all parts of this problem are well-enough understood to go for it right now. One question is: how to create the smallest possible diff between two VFS configurations? In contrast to, e.g., the init configuration where each start node has some kind of unique identity that can be used to find the corresponding nodes in the old and new config, the VFS configuration is less strict. The diff algorithm would need to be more complicated than the list model (util/list_model.h) we normally use.
Also, the potential side effects of a configuration change on the visibility of files in the union mount are rather complex, which raises the question: what should happen with open files that belong to a VFS plugin that disappears or for a file that becomes shadowed by another VFS plugin in the new configuration?
That's more than enough food to keep the back of the mind spinning. I think we will ultimately find solid answers to those questions down the road. But the attempt to answer them today would probably be too premature to be useful.
Btw, non-structural changes of the VFS configuration can actually be applied today, e.g., changing the font-size parameter of the vfs_ttf plugin as used by Sculpt's dynamic font scaling. But that's a very fine (thin) line to walk on. ;-)
Cheers Norman