-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add basic support of a virtual filesystem #1013
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
stlankes
force-pushed
the
syscall
branch
11 times, most recently
from
January 3, 2024 21:32
6a53407
to
c205c25
Compare
stlankes
force-pushed
the
syscall
branch
12 times, most recently
from
January 6, 2024 13:26
449c9dc
to
bf75717
Compare
The virtual filesystem should not be part of the system call implementation.
Rename feature fs to fuse, because it disables the support of the fuse file system. For legacy reasons, the feature fs will enable fuse.
- remove old style - using of slices instead of raw pointer
- usefull to determine the file size
- add functions to determine the file type and the file size
stlankes
force-pushed
the
syscall
branch
5 times, most recently
from
January 9, 2024 16:02
4ec0fac
to
f89dab7
Compare
sys_getdents64 is compatible to Linux' system call getdents64. Consequently, it offers the reusing of an existing ABI.
stlankes
changed the title
add basic support of virtual filesystem
add basic support of a virtual filesystem
Jan 10, 2024
stlankes
added a commit
to stlankes/hermit-rs
that referenced
this pull request
Jan 14, 2024
- remove readdir support - add comment to describe file attributes - This PR depends on hermit-os/kernel#1013
stlankes
added a commit
to stlankes/hermit-rs
that referenced
this pull request
Jan 14, 2024
- remove readdir support - add comment to describe file attributes - This PR depends on hermit-os/kernel#1013
stlankes
added a commit
to stlankes/hermit-rs
that referenced
this pull request
Jan 14, 2024
- remove readdir support - add comment to describe file attributes - This PR depends on hermit-os/kernel#1013
- according to POSIX standard, the position between file descriptors will be shared after a dup operation
mkroening
approved these changes
Jan 16, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! 👍
stlankes
added a commit
to stlankes/hermit-rs
that referenced
this pull request
Jan 16, 2024
- remove readdir support - add comment to describe file attributes - This PR depends on hermit-os/kernel#1013
stlankes
added a commit
to stlankes/hermit-rs
that referenced
this pull request
Jan 17, 2024
- remove readdir support - add comment to describe file attributes - This PR depends on hermit-os/kernel#1013
stlankes
added a commit
to hermit-os/hermit-rs
that referenced
this pull request
Jan 17, 2024
* add support of getdents64 to read directory entries - remove readdir support - add comment to describe file attributes - This PR depends on hermit-os/kernel#1013 * add latest version of libhermit * add test to open a file from the proc filesystem /etc is not longer mounted and should not be used for a test * rename some data structures to improve the backward compatability * minor changes to pass the format check * add test to read the directory entries * using hexadecimal numbers instead decimal numbers - improves the readability * update kernel module
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add basic support of a virtual filesystem (including an in-memory fs). If the kernel is running on top of uhyve, the host system will be mounted at mount point, which is defined by the kernel argument
-mount
. If this argument is not used, the kernel uses/host
as default mount point. If the kernel detects FUSE, the kernel mount the filesystem at the mount point, which is specified by FUSE'stag
. In case of Qemu, thetag
is specified by the argument-device
(e.g.-device vhost-user-fs-pci,queue-size=1024,chardev=char0,tag=root
). In this example, FUSE will be mount at/root
.In addition, the interface for file descriptors is revised and move the usage of raw pointers to the system call implementations.