Hello Adrian,

* a3an <[email protected]> [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
[email protected]
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to