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

Move RAFS filesystem builder into nydus-rafs crate #1141

Merged
merged 10 commits into from
Mar 8, 2023

Conversation

jiangliu
Copy link
Collaborator

@jiangliu jiangliu commented Mar 6, 2023

Move RAFS filesystem builder into nydus-rafs crate so it can be reused. Also reduce memory consumption during image conversion.

Optimize ChunkWrapper to reduce memory consumption by only
instantialing the chunk info object when needed.

Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
Optimize InodeWrapper to reduce memory consumption by only
instantialing the inode object when needed.

Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
Move builder from nydus-image into rafs, so it can be reused.

Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
Organize immutable fields of Node into a new struct NodeInfo, to
reduce memory consumption and copy operations.

Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
Move overlay related code into builder/core/overlay.rs, for better
maintenance.

Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
Move RAFSv6 builder related code into a dedicated file.

Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
Refine builder/Node related code for maintenance.

Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
Refine RAFS v6 builder implementation by:
- introduce helper Node::v6_dump_inode() to reduce duplicated code
- introduce helper BuildContext::v6_block_addr()

Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
Refine builder Bootstrap implementation for maintenance.

Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
Refine prefetch and chunk dictionary in builder for maintenance.

Signed-off-by: Jiang Liu <gerry@linux.alibaba.com>
@jiangliu jiangliu requested a review from a team as a code owner March 6, 2023 13:32
@jiangliu jiangliu requested review from imeoer, changweige and hsiangkao and removed request for a team March 6, 2023 13:32
@anolis-bot
Copy link
Collaborator

@jiangliu , a new test job has been submitted. Please wait in patience. The test job url: https://tone.openanolis.cn/ws/nrh4nnio/test_result/54863

@anolis-bot
Copy link
Collaborator

@jiangliu , The CI test is completed, please check result:

Test CaseTest Result
build rust golang image✅ SUCCESS
compile nydusd✅ SUCCESS
compile ctr remote✅ SUCCESS
compile nydus snapshotter✅ SUCCESS
run container with rafs✅ SUCCESS
run container with zran✅ SUCCESS
run container with rafs and compile linux✅ SUCCESS

Congratulations, your test job passed!

@bergwolf
Copy link
Member

bergwolf commented Mar 8, 2023

Which component is supposed to reuse the builder?

@jiangliu
Copy link
Collaborator Author

jiangliu commented Mar 8, 2023

Which component is supposed to reuse the builder?

Image-rs for confidential containers:)

@jiangliu jiangliu merged commit 1344b9c into dragonflyoss:master Mar 8, 2023
@jiangliu jiangliu deleted the builder branch March 28, 2023 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants