wasi-vfs 0.3.0

A virtual filesystem layer for WASI
Documentation
# Debugging Tips

## Trace WASI system calls

wasi-vfs provides a `strace`-like system call tracer for some WASI system calls where it hooks.
The feature is hidden by default, so if you want to enable this, please build `libwasi_vfs.a` by the following command:

```console
$ cargo build --target wasm32-unknown-unknown --features trace-syscall
```

And also, you need to set environment variable `WASI_VFS_TRACE=1` when running your WASI application to print the tracing info.

```strace
$ wasmtime run --env WASI_VFS_TRACE=1 .tmp/main.packed.wasm
fd_prestat_get(fd: 3)
fd_prestat_dir_name(fd: 3, path: 92928, path_len: 1)
fd_prestat_get(fd: 4)
fd_prestat_dir_name(fd: 4, path: 92928, path_len: 4)
fd_prestat_get(fd: 5)
fd_prestat_get returns 8
fd_fdstat_get(fd: 3)
path_open(fd: 3, dirflags: 1, path: hello.txt, oflags: 0, fs_rights_base: 263716542, fs_rights_inheriting: 267911167, fdflags: 0)
fd_read(fd: 5, iovs: 85176, iovs_len: 1)
fd_close(fd: 5)
fd_fdstat_get(fd: 4)
path_open(fd: 4, dirflags: 1, path: hello.txt, oflags: 0, fs_rights_base: 2121858, fs_rights_inheriting: 2121858, fdflags: 0)
fd_read(fd: 6, iovs: 85176, iovs_len: 1)
fd_close(fd: 6)
fd_fdstat_get(fd: 4)
path_open(fd: 4, dirflags: 1, path: subdir/inner.txt, oflags: 0, fs_rights_base: 2121858, fs_rights_inheriting: 2121858, fdflags: 0)
fd_read(fd: 7, iovs: 85176, iovs_len: 1)
fd_close(fd: 7)
```