wasmer_wasix/journal/effector/syscalls/
fd_advise.rs1use super::*;
2
3impl JournalEffector {
4 pub fn save_fd_advise(
5 ctx: &mut FunctionEnvMut<'_, WasiEnv>,
6 fd: Fd,
7 offset: Filesize,
8 len: Filesize,
9 advice: Advice,
10 ) -> anyhow::Result<()> {
11 Self::save_event(
12 ctx,
13 JournalEntry::FileDescriptorAdviseV1 {
14 fd,
15 offset,
16 len,
17 advice,
18 },
19 )
20 }
21
22 pub fn apply_fd_advise(
23 ctx: &mut FunctionEnvMut<'_, WasiEnv>,
24 fd: Fd,
25 offset: Filesize,
26 len: Filesize,
27 advice: Advice,
28 ) -> anyhow::Result<()> {
29 crate::syscalls::fd_advise_internal(ctx, fd, offset, len, advice).map_err(|err| {
30 anyhow::format_err!(
31 "journal restore error: failed to advise file descriptor (fd={fd}, offset={offset}, len={len}, advice={advice:?}) - {err}")
32 })?;
33 Ok(())
34 }
35}