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/

Reply via email to