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 <[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
------------------------------------------------------------------------------
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