sync() not implemented by rumpfs

a3an a3an at ...294...
Fri Jan 30 01:48:52 CET 2015


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 at ...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 at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main





More information about the users mailing list