Hello Josef,
I've got some new indications. I used the fsync() call to see how that worked out. It did not work either. By plowing through the vfs header files, I noticed that File_system contains a virtual function called sync() followed by {}, and some comments that only Fs_file_system needs sync. I placed a PWRN macro call with a msg within the braces and run the test test again. The msg appeared on the console.
It means there is no overriding implementation for sync(), presumably in Fs_file_system. I assume rump_fs has been used in read mode only.
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