-
Notifications
You must be signed in to change notification settings - Fork 208
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 eStargz TOC conversion and run for RAFS v6 #486
Conversation
Moved as a common branch for better cooperation. |
a2411ee
to
2281c2d
Compare
@imeoer , Your pull request has been updated. A new test job has been submitted. Please wait in patience. |
253bd20
to
76a5a8e
Compare
@imeoer , Your pull request has been updated. A new test job has been submitted. Please wait in patience. |
@imeoer , Test job has been submitted. Please wait in patience. |
76a5a8e
to
d8f0f53
Compare
@imeoer , Your pull request has been updated. A new test job has been submitted. Please wait in patience. |
a1e1b65
to
cf0f18e
Compare
@imeoer , your pull request has been updated. A new test job will be submitted. Please wait in patience. |
@imeoer , your test job has passed, and no need to test again. |
The smoke test passed but docker cache export hang, I think we can move on first. cc @jiangliu |
Add stargz TOC build and run in smoke test for rafs v6. Signed-off-by: Yan Song <[email protected]>
Set rafs v6's blob meta header for stargz chunks. Signed-off-by: Yan Song <[email protected]>
1. Remove the chunk size limitation RAFS_DEFAULT_CHUNK_SIZE. 2. Fill stargz chunk's uncompressed_offset to 4k aligned. Signed-off-by: Yan Song <[email protected]>
Add `--blob-meta` option to allow dump a separate blob meta file to local disk, so that we can convert stargz TOC to bootstrap and generate blob meta file for rafs v6 runtime. Signed-off-by: Yan Song <[email protected]>
Allow loading separate blob meta file from local cache directory for stargz image, this commit just remove some useless checks. Signed-off-by: Yan Song <[email protected]>
For uncompressed blob meta, keeping 4k alignment to make compatible with nydusd runtime, allowing runtime to use the blob meta in blob cache directory directly. Signed-off-by: Yan Song <[email protected]>
Merge should inherit the chunk size stored in parent bootstrap, not the default value. Signed-off-by: Yan Song <[email protected]>
Convert all TOC to multiple bootstraps for each stargz layers, and then merge all bootstrap into final bootstrap. This method has better performance than loading parent bootstrap layer by layer. Signed-off-by: Yan Song <[email protected]>
The stargz chunk size is 4MB by default, and we need store its compressed/uncompressed size into BlobChunkInfoOndisk. So wen need use reserved 4bits as the high bits of compressed_size and uncompressed_size. This change is still compatible with old format, update ut case to ensure that. Signed-off-by: Yan Song <[email protected]>
The estargz image format has changed a lot, for a real estargz image, the TOC file in each layer does not contain root inode, so we need prepend one before dump bootstrap. Signed-off-by: Yan Song <[email protected]>
For stargz chunk, it does not provide compressed size, so the value of `compressed_blob_size` is always 0, we need to check decompressed_blob_size here. Signed-off-by: Yan Song <[email protected]>
For rafs v6 in fscache daemon, we must make compatible with stargz chunks. Signed-off-by: Yan Song <[email protected]>
cf0f18e
to
8b746e9
Compare
@imeoer , your pull request has been updated. A new test job will be submitted. Please wait in patience. |
@imeoer , the test job has been submitted. Please wait in patience. |
@imeoer , The CI test is completed, please check result:
Congratulations, your test job passed! |
No description provided.