Skip to content
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

Firecracker VFS fixes / improvements #7973

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

bduffany
Copy link
Member

@bduffany bduffany commented Nov 27, 2024

Polish up VFS a bit so that we can experiment with using VFS instead of workspace ext4 images. This should help reduce the IO costs associated with mke2fs, but at the cost of higher file access latency during execution.

  • Add test
  • Improve error handling when guest VFS server fails:
    • Switch log.Error to log.Fatal in the init process when the VFS server crashes. (We currently only show fatal-level logs.)
    • If VFS setup in the guest fails, don't hang forever in SendPrepareFilesystemRequest. Instead, parse the fatal error from the VM logs and report it immediately. This fix involved some cleanup/refactoring to the VM startup code.
  • Remove unused output fields from FileSystemLayout. This struct was missing the new output_paths field, but since the output_files and output_directories aren't used anyway, we can just remove them.
  • Fix a few cases where we don't respect whether VFS is enabled or not:
    • If VFS is enabled for the execution, then don't mount the workspace drive at all, even the "stub" one mounted initially.
    • If VFS is enabled by the executor but not enabled via platform props, then don't unnecessarily start the VFS server in the guest.

@bduffany bduffany changed the title Some improvements to firecracker VFS Firecracker VFS fixes / improvements Nov 27, 2024
@bduffany bduffany force-pushed the firecracker-vfs branch 3 times, most recently from 2dc860a to e80ad09 Compare November 27, 2024 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant