wasmer_wasix/journal/effector/syscalls/
fd_allocate.rs

1use super::*;
2
3impl JournalEffector {
4    pub fn save_fd_allocate(
5        ctx: &mut FunctionEnvMut<'_, WasiEnv>,
6        fd: Fd,
7        offset: Filesize,
8        len: Filesize,
9    ) -> anyhow::Result<()> {
10        Self::save_event(
11            ctx,
12            JournalEntry::FileDescriptorAllocateV1 { fd, offset, len },
13        )
14    }
15
16    pub fn apply_fd_allocate(
17        ctx: &mut FunctionEnvMut<'_, WasiEnv>,
18        fd: Fd,
19        offset: Filesize,
20        len: Filesize,
21    ) -> anyhow::Result<()> {
22        crate::syscalls::fd_allocate_internal(ctx, fd, offset, len)
23            .map_err(|err| {
24                anyhow::format_err!(
25                    "journal restore error: failed to allocate on file descriptor (fd={fd}, offset={offset}, len={len}) - {err}")
26            })?;
27        Ok(())
28    }
29}