possible composefs /etc improvements
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- linux, rust
- Lĩnh vực
- backend, operating-systems
Hướng nghiên cứu
The issue identifies the composefs backend, /etc deployment handling, and the three-way merge, but names no source files or tests. Start by locating the composefs deployment path and reading how it copies and merges /etc; then assess whether an overlayfs or reflink approach is viable. Done means a chosen approach is implemented and verified to preserve the existing merge behavior while avoiding unnecessary file copies.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Currently with the composefs backend populating /etc for a deployment is basically:
- mount the erofs for the new image
- cp -a /etc into /sysroot/state/deploy/*/etc
- does the 3-way merge in place, and then bind mounts the deployment /etc directly into the final system
At the very least instead of copying all of the files out of the image on each deployment, we should be able to reflink each from the object store and not duplicate the data.
Going a bit further, we could do something like:
- /sysroot/state/deploy/*/etc instead just becomes an overlayfs upperdir
- we mount the erofs from the image and use its /etc as a lowerdir with above
- perform the 3-way merge on the overlay
No copying (except for internal overlay ops), and I think this also allows us to optimize the 3-way merge? Since we can just look at the upperdir on the previous deployment to know exactly which files have been modified and do the copy (reflink?) directly from those files.
Something like that. I haven't looked into proving this out, but wanted to write it down before I forget.
- Ngôn ngữ chính
- Rust
- Star
- 2.3k
- Fork
- 230
- Merge trung bình
- 3 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 37
Chuẩn bị môi trường
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của bootc-dev/bootc
-
auto-updates fail with `opendir(boot): Operation not permitted` when /boot is a systemd automount that has idled outCó thể đã có người làm @cgwalters-bot đã nhận 1 ngày trước. Đang mởtriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
bootc-dev/bootc#2402 · 10 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 2 ngày
-
install: improve error message when systemd-boot is selected without composefs backendCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 52/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của bootc-dev/bootc
Issue tương tự
-
bug priority: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
storytold/photocraft#12183 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
area:render needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
bherbruck/solvecraft#13138 ·
-
testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
ratatui/ratatui-textarea#39 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
transit-audio/transit#369 ·