Thanks Josef.
Actually, what I am looking for is a way to safely let go of the filesystem. So when the process ends, somebody cleans up the filesystem and leave it in a consistent state for the next time around.
I noticed [1], but I have problems locating where the Session_component instance is located so that I can could call sync(). I am not very familiar with the structure of a process, but can I assume that the Session_component instance will get destroyed orderly when the process terminates ? If so, wouldn't it be better its destructor calls sync() ?
I tried to do that, it did NOT work.
Regards, Adrian
Am 29.01.2015 um 23:40 schrieb Josef Söntgen:
Hello Adrian,
- a3an <a3an@...294...> [2015-01-29 22:03:44 +0100]:
while experimenting with rumpfs I noticed that sync() is not supported by rumpfs.
I added a sync() call in ../test/libc_ffat/main.cc and executed make run/rump_ext2. I got the following message:
[init -> test-libc_vfs] DUMMY sync(): sync called, not implemented
I guess, a filesystem not supporting sync() is of greatly reduced value.
rump_fs actually does support syncing (you may take a look at [1]). However, sync(2) is only implemented as a dummy function call [2] in the common libc backend, hence this message. Looking at the current implementation, calling fsync(3) would have the desired effect [3]. (It will call the sync method on the root directory, which is a Dir_file_system, that in return will call sync on all its registered file systems and so.)
Has this call been blocked on purpose ?
No, it just was not implemented. I vaguely remember talking about this topic, when we added the sync syscall to Noux. Since we override the common libc implementation in libc_noux [4] anyway, there was probably no immediate need to also provide a more complete implementation there.
Cheers Josef
[1] repos/dde_rump/src/server/rump_fs/main.cc:325 [2] repos/libports/src/lib/libc/dummies:136 [3] repos/libports/src/lib/libc/vfs_lugin.cc:829 [4] repos/ports/src/lib/libc_noux/plugin.cc:635
Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main