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

Support Chunk Prefetch By Generating a New Blob And Bootstrap #1629

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

daiyongxuan
Copy link

Relevant Issue #1589

The objective is to create an independent image layer to prioritize the fetching of necessary blobs during startup, enhancing performance.

Details

This introduces the "optimize" subcommand, which generates a new blob containing prefetch files and creates a new RAFS format bootstrap. This ensures compatibility with the nydus-image check and optimizes the startup process.

@daiyongxuan daiyongxuan requested a review from a team as a code owner September 25, 2024 03:09
@daiyongxuan daiyongxuan requested review from jiangliu, gaius-qi and Desiki-high and removed request for a team September 25, 2024 03:09
let child = tree.get_node(&node.lock().unwrap().path()).unwrap();
let mut child = child.node.lock().unwrap();
child.layer_idx = prefetch_blob_index as u16;
for chunk in &mut child.chunks {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi , nice job!

how about just construct the new blob based on the compressed chunks from the original blob here, without needing to revert_files or modify the Blob::dump

# This is the 1st commit message:

Feat: Add Prefetch Bootstrap Build

# This is the commit message dragonflyoss#2:

sync

tag: Add a runable example

add prefetch bootstrap

Refactor: change the test root

WIP: gen an empty blob, enter in blob.rs:33

chore: remove unused comments

WIP: generate blob id

WIP: update blob id

Refractor: remove some unuseful import and parameters

WIP: need to encapsulation the reader

ROLLBACK: Generate a blob

WIP: Revert files

WIP: revert files

WIP: Generate Blob And Compute Blob ID

feat: Generate Prefetch blobs

refractor: remove some unuse imports and functions

Add #![deny(warnings)] to enforce warning-free code
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.

2 participants