-
Notifications
You must be signed in to change notification settings - Fork 481
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
feat(services/monoiofs): impl read and write, add behavior test #4944
Conversation
There seems to be an unknown bug (probably some race condition) that causes monoio runtime to occasionally fail to initialize (seems only affect Node.js binding). I'll take a deeper look. |
Thanks for your PR! I will review it later this week. |
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.
Mostly LGTM except the monoio part. We can work together at the upstream.
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.
Thanks a lot!
Part of #4552.
This PR implements basic read and write operations for
monoiofs
. The implementation differs fromcompfs
in that file opened with monoio is stored within the worker thread because it is non-Send and non-Sync. Read and write operations send buffers to worker thread and receive results instead of send futures.This PR also introduces behavior tests for
monoiofs
. Implementations of stat and delete are borrowed fromFsBackend
to satisfy requirements of behavior tests. They are not implemented natively because monoio's support for file metadata is not released yet and file deletion is currently not implemented.