Hello,
I would like to sync the file-system after every invocation to
`Genode::Append_file::append()`.
However, the `_sync()` interface is private as are the Genode::Append_file's
`_io` and `_handle`.
What is the recommended way to sync?
I tried using handles as well:
```cpp
Vfs::File_system &fs{root_dir.root_dir()};
Vfs::Vfs_handle *handle {};
fs.open("foo",
Vfs::Directory_service::Open_mode::OPEN_MODE_RDWR |
Vfs::Directory_service::Open_mode::OPEN_MODE_CREATE,
&handle, heap);
// file opens properly
for (long long unsigned i = 0; i < 10; i++) {
auto _str = Genode::String<512>(Genode::Hex(i), "\n");
Genode::Const_byte_range_ptr const bufrange { _str.string(),
_str.length() };
Genode::size_t out = 0;
auto res = fs.write(handle, bufrange, out);
handle->advance_seek(out);
Genode::warning("WROTE: ", out, "B, RES: ", (Genode::uint32_t)res);
}
fs.close(handle);
```
However, before I could add syncing to the above example, I noticed that
`fs.write()`
returns WRITE_ERR_INVALID. I am stuck on what could be wrong, as I based this
example off of the
internal implementation of `Genode::Writeable_file`.
As always, any help is greatly appreciated :)
Best,
Rumen
P.S. This was tested on rump-ext2fs.
_______________________________________________
users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Archived at
https://lists.genode.org/mailman3/hyperkitty/list/[email protected]/message/U3SMB4QQFEE32E266XRXXEQSGEYJKN6M/