-
Notifications
You must be signed in to change notification settings - Fork 3.4k
[nodefs] Return real values for statvfs via __syscall_statfs64 #22631 #22932
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
Conversation
Co-authored-by: Carlos Garcia <[email protected]>
I tested the failing test locally by running |
Yup that test is just flaky, sadly. |
src/library_syscall.js
Outdated
{{{ makeSetValue('buf', C_STRUCTS.statfs.f_fsid, '42', 'i32') }}}; | ||
{{{ makeSetValue('buf', C_STRUCTS.statfs.f_flags, '2', 'i32') }}}; // ST_NOSUID | ||
{{{ makeSetValue('buf', C_STRUCTS.statfs.f_namelen, '255', 'i32') }}}; | ||
var defaults = FS.statfs(SYSCALLS.getStr(path)); |
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.
Can you rename this? Perhaps stats
instead of `defaults? (Since they might be real values now).
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.
Stats sound better. I made the change in cf570be.
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.
lgtm with one final nit.
Is this ready to land? |
Note: This work is continued from a PR started under the WordPress GH org. There are a couple of reasons for this upgrade: 1. I am having trouble rebuilding php-wasm on my current system. References to older ubuntu images and emscripten versions [has given me trouble](#2038 (comment)). 2. We want [this Emscripten fix](emscripten-core/emscripten#22932) from @jeroenpf and @bgrgicak which was first included in Emscripten 3.1.73. This PR: - Bumps the ubuntu docker image version due to build errors related to missing image. Referencing a newer ubuntu image seemed to fix the "missing image" errors. - Bumps Emscripten version - Adjusts Playground-specific patches to Emscripten output since the latest breaks that patching. - CI (once we can run GH actions on A8C's GHE instance) --------- Co-authored-by: Brandon Payton <[email protected]>
This PR was originally implemented by @jeroenpf in #22631.
I'm adding a fix for a broken test and had to do it in a new branch because I can't push to the original branch.
See #22607
statfs syscall functions are returning hardcoded default values which can in some cases lead to unexpected results.
This PR introduces a way for __syscall_statfs64 to return real values if the underlying filesystem supports this. For now, I've only implemented this for the NODEFS filesystem but we can expand this to other filesystems when it makes sense.
Additionally, in the previous defaults, ffree could be larger than files which is incorrect, this has also been addressed.
Ive added a test test/fs/test_nodefs_statfs.c which can be executed by running:
test/runner test_fs_nodefs_statfs
As I am a new contributor I'm happy to get feedback and make improvements where needed.