wasmer_wasix/journal/effector/syscalls/
fd_advise.rs

1use 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}