Hello Samuel, * Samuel Hall <sammy.h...@freenet.de> [2016-01-25 00:54:06 +0100]: > In the implementation described in the article VFS isn't used due to the > fact, that VFS wasn't available in genode at that time. A comment of the > libc_fuse plugin states: > > […] > > So does the current implementation, when using a FUSE fs via the libc > plugin, require VFS?
Yes. If you look at the different FUSE file systems you will see that all of them use '/dev/blkdev' [1] to access the block device. By now, this block device is configured through the VFS configuration by using the VFS block plugin, e.g.: <libc ...> <vfs> ... <dir name="dev"> <block name="blkdev"/> </dir> </vfs> </libc> So when the FUSE file system wants to access the block device, the libc will query all its plugins and normally the VFS plugin will answer the call. [1] repos/libports/src/lib/fuse-ext2/init.cc:49 > Is there any more detailed information about the VFS in genode? There is more information in the release notes, albeit somewhat scattered. > I am particularly interested in finding out how the flow of a FUSE call > differs in genode compared to the "normal" call as shown in this graphic > [1]. If your component uses libc_fuse it looks basically like this: open(/foo) ↳ libc (plugin list) ↳ libc_fuse (plugin) ↳ fuse->op.open(/foo) ↳ “ext2_read_inode” … Since this happens all in the component itself there is no context switch necessary (however, a context switch might occur in the FUSE file system backend if the block session is provided by another component). > When using a FUSE based fs as a file system server as described in Josef's > response, do any adjustments have to be made to the FUSE fs so it runs on > genode? It depends on the file system but generally speaking one mostly ends up reimplementating the file systems main() function if it uses the normal fuse event loop. Regards Josef ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main