commits
While QID already contains that information, it is required to also
store it in `mode` field for some reason. Linux `v9fs` driver requires
that flag to be set, so we set it.
Currently `e9p` supports only "legacy" version (with no extensions) so
always report that, even if version with some extensions is requested.
It is basic, read-only, implementation of ERTS system information
filesystem. So far the implementation contains 3 directories:
- `processes` with list of processes containing basic process information
- `applications` with list of loaded applications as well as basic
information about these
- `system_info` with information about ERTS
Future improvements should add `memory` and `statistics` paths as well
and things like removing process directory as a way to kill process or
pseudo-file that will allow sending messages to processes.
This makes implementing new filesystems easier as author do not need to
be concerned about FIDs, QIDs, and stuff, instead it will be handled for
them in most cases.
First step must always succeed, otherwise return error. Subsequent steps
can end without failure.
Do not require all fields to be present, as we can have default values
for non-critical ones.
PropEr is using GPL-3.0-or-later license for their codebase which
requires property testing files to be licensed as GPL. Fortunately that
doesn't affect main codebase, which allows licensing them independently.
That is enormously confusing combo IMHO, but there currently no
workaround, as PropEr team do not want to change license even when it is
IMHO causing confusion.
`e9p_unfs` is simple implementation for providing access layer to Unix
Filesystem through 9p2000.
That flag is useful for Common Test suites to not need to go through all
tests and other functions to export them.
To test against existing implementation I wanted some existing tool that
can be used to access 9p server. Kamid has `kamiftp` tool that is
FTP-like client for 9p servers. It needs some patches to work on macOS
so I add these changes in Nix derivation.
Unfortunately this will not work for client tests, but it is way easier
to find simple 9p server than it is to find simple 9p client for some
reason.
As we probably will need to have multiple licenses for different
components (to use PropEr with valid licensing), we should add
Reuse-compatible license headers to all files we have. This will allow
use to explictly mark what files use what license.
It is basic, read-only, implementation of ERTS system information
filesystem. So far the implementation contains 3 directories:
- `processes` with list of processes containing basic process information
- `applications` with list of loaded applications as well as basic
information about these
- `system_info` with information about ERTS
Future improvements should add `memory` and `statistics` paths as well
and things like removing process directory as a way to kill process or
pseudo-file that will allow sending messages to processes.
PropEr is using GPL-3.0-or-later license for their codebase which
requires property testing files to be licensed as GPL. Fortunately that
doesn't affect main codebase, which allows licensing them independently.
That is enormously confusing combo IMHO, but there currently no
workaround, as PropEr team do not want to change license even when it is
IMHO causing confusion.
To test against existing implementation I wanted some existing tool that
can be used to access 9p server. Kamid has `kamiftp` tool that is
FTP-like client for 9p servers. It needs some patches to work on macOS
so I add these changes in Nix derivation.
Unfortunately this will not work for client tests, but it is way easier
to find simple 9p server than it is to find simple 9p client for some
reason.